在Visual Studio 2019中编译默认Angular 项目时未找到node.js(但已安装)

hgncfbus  于 2022-11-17  发布在  Angular
关注(0)|答案(4)|浏览(202)

我已经在Visual Studio 2019中创建了一个默认的.NET Core 3.0 Angular项目。
当我建置项目并执行它时,发生下列错误:

error : Node.js is required to build and run this project. To continue, please install Node.js from https://nodejs.org/, and then restart your command prompt or IDE.

当网页启动时,我会获得异常,就像在帖子末尾的图像中一样。
我知道这个错误很容易修复:我只需要下载并安装Node.js。但是我想知道为什么我需要这样做,因为在Visual Studio安装程序中选择了Node.js选项,所以它应该已经安装了。您可以在我的Visual Studio安装程序窗口中看到它(抱歉,它是意大利语的,但是您可以看到已经安装的Node.js)。
是否有办法解决这个问题,并使用Visual Studio安装时检索到的node.js,而不是安装第二个?

编辑:
我在C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VisualStudio\NodeJs中发现了Visual Studio安装的node.exe可执行文件。
我已经在Options->Web Package Management中添加了External Web Tools的路径,但错误仍然存在。

我把路铺错地方了,还是有别的原因?
我还注意到在.csproj中,它使用node而不是node.exe引用节点可执行文件。

ql3eal8s

ql3eal8s1#

error : Node.js is required to build and run this project. To continue, please install Node.js from https://nodejs.org/, and then restart your command prompt or IDE.

我遇到了同样的问题,在我将 NodeJS 的安装路径添加到PATH环境变量后,它得到了修复。
我在以下文件夹中找到了NodeJS的Visual Studio安装(使用简单的Node.exe搜索)C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Microsoft\VisualStudio\NodeJs
复制路径,打开windows开始菜单,搜索“编辑系统环境变量”。单击环境变量按钮,在系统变量下找到路径变量。
将上述复制的NodeJS路径添加到此变量。
我不得不重新启动Visual Studio一次,并且能够生成我的解决方案。

thtygnil

thtygnil2#

根据微软documentation:确保您有一个名为ASPNETCORE_ENVIRONMENT且值为Development的环境变量。在Windows上(在非PowerShell提示中),运行SET ASPNETCORE_ENVIRONMENT=Development。在Linux或macOS上,运行export ASPNETCORE_ENVIRONMENT=Development
这解决了我使用ASP.NET Core with React项目模板时遇到的问题。

toiithl6

toiithl63#

打开package.json文件在“dependencies”部分添加node-js依赖关系

{
  "name": "Test.WebApp",
  "version": "0.1.0",
  "private": true,
  "dependencies": {
    "bootstrap": "^4.3.1",
    "jquery": "3.3.1",
    "react": "^16.0.0",
    "react-dom": "^16.0.0",
    "react-router-bootstrap": "^0.24.4",
    "react-router-dom": "^4.2.2",
    "react-scripts": "^1.1.5",
    "reactstrap": "^6.3.0",
    "rimraf": "^2.6.2",
    "node-js": "^5.3.0" <-----------------
  }
...
dohp0rv5

dohp0rv54#

将此标记添加到“yourproject.csproj”文件中

<Target Name="OptimizeJs">
  <Exec Command=".bin\node Scripts\r.js -o Scripts\build.js" />
</Target>

相关问题