我正在开发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 ]
答案 0 :(得分:22)
只要出现错误,请执行以下任何选项
用于传递构建命令的参数:
在.csproj文件中将'npm run build - --prod'更改为'npm run build --prod'
使用此CMD命令打开ClientApp文件夹和更新项目angular-cli:
npm install --save-dev @ angular / cli @ latest
从以下位置更新visual studio NodeJS和npm:
Tools > Options > Projects and Solutions > Web Package Management > External
Web Tools
如果您的环境路径上未安装NodeJS和npm,请将NodeJS和npm文件夹添加到列表顶部,否则将$(路径)移至列表顶部
感谢@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