命令“npm run build -- --prod”退出并出现代码 1 错误
Posted
技术标签:
【中文标题】命令“npm run build -- --prod”退出并出现代码 1 错误【英文标题】:The command "npm run build -- --prod" exited with code 1 error 【发布时间】:2018-04-04 05:37:18 【问题描述】:我正在 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 ]
【问题讨论】:
试试 npm run build -- prod @Praveen Kumar。我更新了 NodeJS,但 'npm run build -- prod' 命令没有解决问题。 移除 bower_components 并运行 npm install 【参考方案1】:只要有错误,就执行以下任一选项
将参数传递给构建命令:
在 .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 文件夹添加到列表顶部,否则将 $(path) 移动到列表顶部
.
感谢@Praveen Kumar 和@Yerkon
【讨论】:
浪费了很多时间到处寻找。你有完美的解决方案。谢谢。 我也遇到了同样的问题,第 1 步对我有用。谢谢,这节省了我很多时间。 VS 2017, 15.8.1, .net core 2 Angular Template:仍然需要应用 thix 修复。谢谢!不明白为什么微软不修复它。 你把这个“npm install --save-dev @angular/cli@latest”放在哪里?我已经打开 .angular-cli.json 但我没有找到 npm 安装字符串。 最后,当我更新到 VS 2019 并将 csproj 更改为 'npm run build --prod' 时,它起作用了。令人惊讶的是,当我在 VS 2017 上运行时,它并没有帮助。【参考方案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
然后你会看到真正的错误 - 这意味着你在代码中有一些错误,所以修复 Angular UI 代码,它会构建得很好:)。
【讨论】:
这是我真正的问题,依靠 VS 进行构建并没有真正指出代码问题出在 Angular 框架上,只有在运行 ng build --prod 时才会弹出 问题是关于“npm run build -- --prod”错误不是真正的错误。 在插入任何答案之前,最好仔细阅读问题。 'npm run build -- --prod' 存在于 .csproj 文件中,与'npm run build' 无关。您必须修复 'npm run build -- --prod' 错误。【参考方案3】:运行:
npm run build:prod -- --prod
查看导致构建失败的实际错误。
注意:注意该命令有两次prod
。
【讨论】:
【参考方案4】:检查一下,也许你有内存不足的问题
"build": "node --max-old-space-size=4069 node_modules/@angular/cli/bin/ng build --prod",
【讨论】:
【参考方案5】:Error: The command "npm install" exited with code 1
添加环境变量,右键此PC
转到属性 转到高级选项卡 点击环境变量 在用户变量部分单击新建,输入变量名称“路径”和值C:\Users\User\AppData\Roaming\npm
还有一个 - 在用户变量部分单击新建,输入变量名称“路径”和值C:\Program Files\nodejs
如果 Path
变量已经存在,那么您可以通过 ;
分隔编辑该变量添加新路径(值)。
【讨论】:
【参考方案6】:如果在 netlify 上部署,请在站点设置构建和部署时使用以下命令而不是 npm run build
。
CI= npm run build
【讨论】:
【参考方案7】:也许在命令行 NodeJS 版本的 Visual Studio 是旧的。在您的命令输出中,我们可以看到:
node@v6.10.3
更新NodeJS
【讨论】:
我从 Visual Studio 的“外部 WEB 工具”部分更新【参考方案8】:尝试运行: ng build "prod" 并查看实际错误是什么。
【讨论】:
如接受的答案中所述,“npm run build --prod”解决了问题。【参考方案9】:从您的输出窗口中的错误来看,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文件,并在调用npm build
时使用部署期间:
<Target Name="PublishRunWebpack" AfterTargets="ComputeFilesToPublish">
<!-- As part of publishing, ensure the JS resources are freshly built in production mode -->
<Exec **WorkingDirectory="$(SpaRoot)"** Command="npm install" />
<Exec **WorkingDirectory="$(SpaRoot)"** Command="npm run build --prod" />
<Exec **WorkingDirectory="$(SpaRoot)"** Command="npm run build:s-s-r --prod" Condition=" '$(BuildServerSideRenderer)' == 'true' " />
<!-- Include the newly-built files in the publish output -->
<ItemGroup>
<DistFiles Include="$(SpaRoot)dist\**; $(SpaRoot)dist-server\**" />
<DistFiles Include="$(SpaRoot)node_modules\**" Condition="'$(BuildServerSideRenderer)' == 'true'" />
<ResolvedFileToPublish Include="@(DistFiles->'%(FullPath)')" Exclude="@(ResolvedFileToPublish)">
<RelativePath>%(DistFiles.Identity)</RelativePath>
<CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
<ExcludeFromSingleFile>true</ExcludeFromSingleFile>
</ResolvedFileToPublish>
</ItemGroup>
</Target>
【讨论】:
以上是关于命令“npm run build -- --prod”退出并出现代码 1 错误的主要内容,如果未能解决你的问题,请参考以下文章
Docker学习重点~docker命令:帮助命令镜像命令容器命令常用其他命令
每天一个 Linux 命令网络相关命令(ifconfigroutepingtraceroutenetstatsstelnetrcpscp)