Visual Studio 2017 外部工具 npm 无法使用

3
我有一个TypeScript项目,需要使用npm 3+。我已经将其安装到C:\Program Files\nodesjs,并设置了系统环境变量指向那里。
然而,在Visual Studio 2017中,当我设置外部工具位置时,它仍然无法使用npm版本3+。

External Tools Window

NPM version


你还需要设置环境变量。http://www.allenconway.net/2015/07/which-version-of-typescript-is.html - Thrandy
6个回答

3
针对您的Node安装文件夹,我假设你指的是:
C:\Program Files\nodejs而不是 C:\Program Files\nodesjs
此外,您正在从“包管理器控制台”测试npm版本。我不确定它是否遵循您的外部工具配置(而不是Powershell Profile),因此那里的结果可能不会改变。
相反,在打开项目时,您应该能够右键单击“解决方案资源管理器”中“依赖项”下的“npm”节点,并选择“还原程序包”。在您的输出窗口(Bower/npm)中,您应该看到正在从全局安装的Node执行的npm install命令:
"C:\Program Files\nodejs\npm.CMD" install

3
您添加外部工具的方式似乎是正确的。您确定您有正确的版本吗?(我的安装中内置的nodejs版本为5.4.1,npm版本为3.3.4)
为了确保,对于我来说,找出Visual Studio 2017使用哪个npm安装的最佳方法是这样的(取自如何获取npm全局路径前缀):
PM> npm config get prefix

如果所有的方法都无法解决问题,你可以尝试更新内置的npm。只需进入你的Web外部路径(可能是C:\ Program Files(x86)\ Microsoft Visual Studio \ 2017 \ Professional \ Web \ External),然后:

pm> npm install npm@latest

1
npm install npm@latest => 问题在于执行该命令时,Node.js版本过旧,无法更新到5.3.0的最新版npm。 - Natalie Perret
不要忘记加上-g。 - BozoJoe

0

当我尝试使用 Task Runner Explorer 和 webpack 时,遇到了类似的问题。我的问题是 webpack.config.js 文件不在项目的根目录中(而是在我的 scripts 文件夹中)。将其移动到根目录中解决了我的问题。


0

外部网络工具配置仅在构建时使用。使用$(ExternalToolsPath)参数之一的构建任务重新设置PATH变量,该参数是外部网络工具列表的分号连接值。

由于您正在PowerShell控制台窗口中运行命令,因此不使用外部网络工具配置。

我最好的猜测是您的PATH环境变量中有多个目录具有npm可执行文件。最新的目录将始终获胜。如果是这种情况,请删除重复项或确保添加了最新版本的npm的目录位于最后。您可以从系统属性或PowerShell控制台窗口使用的Nuget profile进行此操作。

要在PowerShell中检查PATH变量,请使用以下命令:Write-Host $ENV:Path

要从PowerShell列出npm可执行文件的可能位置,请使用以下命令:cmd /c where npm


0

右键点击我的电脑,然后点击属性,再点击高级系统设置,环境变量 -> 系统变量 -> 选择路径,然后点击编辑按钮,添加 %AppData%\npm、%ProgramFiles%nodejs\、C:\Program Files\nodejs

然后点击确定 -> 确定 -> 确定 -> 确定

enter image description here

完成此过程后,请关闭并重新打开Visual Studio,然后在Visual Studio终端中执行命令“nmp start”。


0

在删除了一个dotnet new angular模板项目中的“dist”文件夹后,我遇到了这个问题。(npm已安装并在路径中)

在Visual Studio 2017中从内部重新创建“dist”文件夹(位于ClientApp下)解决了我的问题。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接