运行解决方案时,Visual Studio19找不到npm

问题描述

我是Asp.Net Core,Visual Studio等的新手。 每当我尝试运行解决方案时,我正在处理的项目就会在我的计算机上发生错误。这是错误

The command "npm install && npm run build --prefix /my_path_to_project/MyProject.Web/" exited with code 127.

错误发生在MyProject.Web.csproj中,其中我有类似以下内容

 <Target Name="PreBuild" BeforeTargets="PreBuildEvent">
    <Exec Command="npm install &amp;&amp; npm run build --prefix $(ProjectDir)" />
  </Target>

ProjectDir的路径是正确的(至少从错误消息中可以看到)。

我可以从项目目录中的终端以及Visual Studio终端成功npm i && npm build运行。 但是,当我运行解决方案时,我遇到了错误删除这些行,项目将正常运行。

我正在研究Mac 10.13

Visual Studio 2019 v8.7

我已经用nvm安装了node和npm

node v12.18.3

npm v6.14.7

有人遇到过这个问题吗? 我的猜测是:

  • Visual Code无法找到我的机器上npm的位置(但是我不知道如何对此进行调查)
  • 运行npm命令需要更多权限,例如sudo(虽然很奇怪,但现在可能如此)

如果有人可以向我解释Visual Studio如何查找和运行npm命令,那将是惊人的。

更新 事实证明,从源头手动安装Node可以解决所有问题。 看起来NVM安装节点不在VS搜寻的位置。

有人在Visual Studio中使用NVM吗?会很有帮助

解决方法

由于npm命令在项目文件夹中可以正常工作,因此您可能需要首先在脚本中更改工作目录。尝试以下

cd $(ProjectDir) && npm install && npm run build --prefix $(ProjectDir)