Выпуск основного приложения ASP.NET: команда "npm install" завершилась с кодом 9009

У меня есть решение ASP.NET Core с интерфейсом React. Теперь у меня проблема: я не могу выпустить код, используя обычное окно выпуска внутри Visual Studio. Я публикую в веб-приложении внутри веб-приложений Azure, и оно отлично работает для всех других моих решений, созданных таким же образом.

Код отлично работает локально, и я могу без проблем запускать 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 = "wwwroot\dist\**" />
      <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:\Users\MYNAME\Documents\Github\Likvido.CreditRisk\Likvido.CreditRisk\Likvido.CreditRisk\Likvido.CreditRisk.csproj 75  

Если я закомментирую первые три строки (npm install и два веб-пакета), я могу опубликовать решение, но, очевидно, без работы с JavaScript.

Есть идеи, как это решить? И хотя бы как лучше отладить?

Визуальная ошибка в Visual Studio:

Выпуск основного приложения ASP.NET: команда &quot;npm install&quot; завершилась с кодом 9009

Файл журнала, указанный в графическом интерфейсе пользователя:

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.<---

===================
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
14
0
16 371
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Так что это было неудобно, но потенциально полезно для будущих гуглеров.

Основная проблема была довольно простой: это был новый компьютер, на котором не было установлено Node.js (или NPM). Это делает сообщение об ошибке весьма полезным: node не найден!

Решение простое: установите Node.js, убедитесь, что он находится в вашем PATH, и перезагрузите компьютер. Тогда вы решите эту проблему.

В качестве дополнительного пункта: я установил инструменты node.js из установщика Visual Studio и продолжал получать эту ошибку, предполагая, что она должна быть установлена, и что-то еще происходит. Ну, он все еще не был установлен. Я не мог найти его нигде на своем компьютере, и он не работал, пока я не загрузил и не установил node.js с веб-сайта и не перезагрузил свой компьютер.

Joel McBeth 14.08.2018 20:35

У меня возникла та же проблема, что и при установке Node, когда была открыта Visual Studio. Затем я перезапустил VS, и все заработало.

iltaf khalid 01.09.2018 17:53

Это сработало для меня. Я скачал его здесь: nodejs.org/en вместо использования диспетчера пакетов.

Tman 29.09.2020 00:11

У меня была такая же проблема даже после загрузки и установки nodejs. моя проблема решена после перезапуска визуальной студии благодаря @iltafkhalid.

Guido Mocha 02.05.2021 11:39

Другие вопросы по теме