发布ASP.NET核心应用程序:命令“npm install”退出,代码为9009
发布时间:2020-12-16 07:20:48 所属栏目:asp.Net 来源:网络整理
导读:我有一个带有React前端的ASP.NET Core解决方案.我现在有一个问题,我无法使用Visual Studio中的正常发布窗口释放代码.我发布到Azure网络应用程序内的Web应用程序,它可以完美地用于我所有其他以相同方式构建的解决方案. 代码在本地完美运行,我可以在本地运行np
我有一个带有React前端的ASP.NET Core解决方案.我现在有一个问题,我无法使用Visual Studio中的正常发布窗口释放代码.我发布到Azure网络应用程序内的Web应用程序,它可以完美地用于我所有其他以相同方式构建的解决方案.
代码在本地完美运行,我可以在本地运行npm install而不会出现问题. 发布时,错误显然来自某些未找到的文件.在我的项目文件中,我一直在调试,发现这是一个挑战: <Target Name="PublishRunWebpack" AfterTargets="ComputeFilesToPublish"> <!-- As part of publishing,ensure the JS resources are freshly built in production mode --> <Exec Command="npm install" /> <Exec Command="node node_modules/webpack/bin/webpack.js --config webpack.config.vendor.js --env.prod" /> <Exec Command="node node_modules/webpack/bin/webpack.js --env.prod" /> <!-- Include the newly-built files in the publish output --> <ItemGroup> <DistFiles Include="wwwrootdist**" /> <ResolvedFileToPublish Include="@(DistFiles->'%(FullPath)')" Exclude="@(ResolvedFileToPublish)"> <RelativePath>%(DistFiles.Identity)</RelativePath> <CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory> </ResolvedFileToPublish> </ItemGroup> </Target> Visual Studio中的错误: Severity Code Description Project File Line Suppression State Error The command "npm install" exited with code 9009. Likvido.CreditRisk C:UsersMYNAMEDocumentsGithubLikvido.CreditRiskLikvido.CreditRiskLikvido.CreditRiskLikvido.CreditRisk.csproj 75 如果我注释掉前三行(npm install和两个webpacks),我可以发布解决方案,但显然没有使用JavaScript. 不知道怎么解决这个问题?至少,如何更好地调试它? Visual Studio中的可视错误: GUI中引用的日志文件: 09/04/2018 11.07.03 System.AggregateException: One or more errors occurred. ---> System.Exception: Publish failed due to build errors. Check the error list for more details. --- End of inner exception stack trace --- at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions) at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout,CancellationToken cancellationToken) at Microsoft.VisualStudio.Web.Publish.PublishService.VsWebProjectPublish.<>c__DisplayClass40_0.<PublishAsync>b__2() at System.Threading.Tasks.Task`1.InnerInvoke() at System.Threading.Tasks.Task.Execute() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Microsoft.VisualStudio.ApplicationCapabilities.Publish.ViewModel.ProfileSelectorViewModel.<RunPublishTaskAsync>d__88.MoveNext() ---> (Inner Exception #0) System.Exception: Publish failed due to build errors. Check the error list for more details.<--- =================== 解决方法
所以这很令人尴尬但对未来的Google员工有用.
根本问题很简单:它是一台没有安装Node.js(或NPM)的新计算机.这使得错误消息非常有用:找不到节点! 解决方案很简单:安装Node.js,确保它在PATH中并重新启动计算机.那你就解决了这个问题. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc – 存储库模式 – 如何正确处理JOIN和复杂查询
- asp.net-mvc – MVC – 它只是一个三层模型吗?
- asp.net-mvc – 我可以获取html.HiddenFor / Html.Hidden创
- asp.net-core – uri查询参数中的asp.net核心JWT?
- asp.net-mvc-3 – 对MVC4 Web API性能问题进行故障诊断
- asp.net-mvc-4 – ModelBinder和子模型
- ASP.net防止SQL注入方法
- asp.net-mvc – 与asp.net MVC中的ExceptionHandlerFilter冲
- asp.net – 找不到与名为’help’的控制器匹配的类型
- asp.net-mvc – 在ASP.NET MVC 3中使用HtmlHelper获取当前视