命令“npm run build - --prod”退出,代码1错误

时间:2018-04-04 05:37:18

标签: angular npm asp.net-core angular-cli npm-install

我正在开发Visual Studio 2017中的Asp.Net Core 2和Angular 5项目。

当我要发布我的项目时,错误'命令“npm run build - --prod”退出,代码1 '显示在错误列表窗口中。
我使用Angular CLI in ASP.NET Core 2 Angular template 链接创建了项目,一切都很好,项目正常运行和发布 过了一会儿,我不知道究竟发生了什么导致项目没有发布。

在npm-debug.log文件中

0 info it worked if it ends with ok
1 verbose cli [ 'C:\\Program Files\\nodejs\\node.exe',
1 verbose cli   'C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js',
1 verbose cli   'run',
1 verbose cli   'build',
1 verbose cli   '--',
1 verbose cli   '--prod' ]
2 info using npm@3.10.10
3 info using node@v6.10.3
4 verbose stack Error: ENOENT: no such file or directory, open 'C:\Project\JWS\JWSApplication\package.json'
4 verbose stack     at Error (native)
5 verbose cwd C:\Project\JWS\JWSApplication
6 error Windows_NT 10.0.15063
7 error argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "run" "build" "--" "--prod"
8 error node v6.10.3
9 error npm  v3.10.10
10 error path C:\Project\JWS\JWSApplication\package.json
11 error code ENOENT
12 error errno -4058
13 error syscall open
14 error enoent ENOENT: no such file or directory, open 'C:\Project\JWS\JWSApplication\package.json'
15 error enoent ENOENT: no such file or directory, open 'C:\Project\JWS\JWSApplication\package.json'
15 error enoent This is most likely not a problem with npm itself
15 error enoent and is related to npm not being able to find a file.
16 verbose exit [ -4058, true ]

9 个答案:

答案 0 :(得分:22)

只要出现错误,请执行以下任何选项

  1. 用于传递构建命令的参数:

    在.csproj文件中将'npm run build - --prod'更改为'npm run build --prod'

  2. 使用此CMD命令打开ClientApp文件夹和更新项目angular-cli:

    npm install --save-dev @ angular / cli @ latest

  3. 从以下位置更新visual studio NodeJS和npm:

    Tools > Options > Projects and Solutions > Web Package Management > External Web Tools

  4. 如果您的环境路径上未安装NodeJS和npm,请将NodeJS和npm文件夹添加到列表顶部,否则将$(路径)移至列表顶部

    enter image description here

    感谢@Praveen Kumar和@Yerkon

答案 1 :(得分:2)

同样的错误,我的环境:

.NET Core 2.1 RC-1
Angular v5.2.4
NPM v5.7.1
Node v8.11.2

上面没有提到任何帮助。 简单转到“。\ ClientApp”// Angula-CLI项目并运行

npm run build

然后你会看到真正的错误 - 所以这意味着你在代码中有一些错误,所以修复角度的UI代码,它会很好地构建:)。

答案 2 :(得分:2)

运行:

npm run build:prod -- --prod

查看导致构建失败的实际错误。

注意:注意命令有两次prod

答案 3 :(得分:1)

也许在命令行中Visual Studio的NodeJS版本已经过时了。在您的命令输出中,我们可以看到:

node@v6.10.3

更新NodeJS

答案 4 :(得分:1)

从输出窗口中的错误看来,npm build命令的目标目录错误,并且找不到 package.json 文件来执行其构建:

11 error code ENOENT
12 error errno -4058
13 error syscall open
14 error enoent ENOENT: **no such file or directory, open** 'C:\Project\JWS\JWSApplication\package.json'
15 error enoent ENOENT: no such file or directory, open 
'C:\Project\JWS\JWSApplication\package.json'
15 error enoent This is most likely not a problem with npm itself
15 error enoent and is related to npm not being able to find a file.
16 verbose exit [ -4058, true ]

我怀疑您的msbuild是针对您的根项目文件夹,而不是您的package.json文件所在的 ClientApp / SpaRoot 文件夹。(基于类似的经验,因为我无权访问您的.csproj来检查您的msbuild配置。)

如果打开.csproj文件,则应该看到 ClientApp / SpaRoot 文件所在的位置。理想情况是,如下所示:

<PropertyGroup>
        <SpaRoot>ClientApp\</SpaRoot>
        <DefaultItemExcludes>$(DefaultItemExcludes);$(SpaRoot)node_modules\**</DefaultItemExcludes>
</PropertyGroup>

根据上述内容,将配置 ClientApp / SpaRoot 文件夹的目录路径,其中包含 package.json 文件,并将在调用{{1 }}:

npm build

答案 5 :(得分:0)

尝试运行:ng构建“ prod”并查看实际错误是什么。

答案 6 :(得分:0)

检查一下,可能是内存不足的问题

 "build": "node --max-old-space-size=4069 node_modules/@angular/cli/bin/ng build --prod",

答案 7 :(得分:0)

Error: The command "npm install" exited with code 1

添加环境变量,右键单击此PC

  • 转到属性
  • 转到“高级”标签
  • 点击环境变量
  • 在“用户变量”部分中,单击“新建”,输入变量名称“路径”和值C:\Users\User\AppData\Roaming\npm
  • 再执行一次-在“用户变量”部分中,单击“新建”,输入变量名“路径”和值C:\Program Files\nodejs

如果已经存在 Path 变量,则可以编辑该变量,并通过 ; 分隔添加新的路径(值)。

答案 8 :(得分:0)

如果在 netlify 上部署,请在站点设置构建和部署时使用以下命令而不是 npm run build

CI= npm run build