配置 Visual Studio 的 Task Runner Explorer 使用哪个 NPM?

Configure which NPM is used by Visual Studio's Task Runner Explorer?

在通常的 Windows 命令行中,我看到:

C:\Users\me\myProject\UI> node --version
v8.12.0

C:\Users\me\myProject\UI> npm --version
6.11.3

C:\Users\me\myProject\UI> where node
C:\Program Files\nodejs\node.exe

C:\Users\me\myProject\UI> where npm
C:\Program Files\nodejs\npm
C:\Program Files\nodejs\npm.cmd
C:\Users\me\AppData\Roaming\npm\npm
C:\Users\me\AppData\Roaming\npm\npm.cmd

现在我正在使用 Visual Studio Professional 2017:如果我通过 Tools > NuGet Packet Manager > Package Manager console 打开一个 (Powershell) 终端,我明白了我喜欢的全局安装:

PM> pwd

Path                                                                 
----                                                                 
C:\myProject

PM> Get-Command npm

CommandType     Name                                               Version    Source                                                                                                                                           
-----------     ----                                               -------    ------                                                                                                                                           
Application     npm.cmd                                            0.0.0.0    C:\Program Files\nodejs\npm.cmd   

PM> node --version
v8.12.0
PM> npm --version
6.11.3
PM> Get-Command node

CommandType     Name                                               Version    Source                                                                                                                                           
-----------     ----                                               -------    ------                                                                                                                                           
Application     node.exe                                           8.12.0.0   C:\Program Files\nodejs\node.exe    

但是,如果我在 Task Runner Explorer 中选择 Defaults > version,我会看到以下输出:

C:\me\myProject> cmd.exe /c npm run version --color=always
> myProject.ui@1.3.7 version C:\me\myProject
> node --version
v10.6.0

这不是我想要的版本,也不是我在命令window中看到的以where npm开头的任何安装!

唯一可能的方法是在某处选择另一个安装,因为 Task Runner Explorer 中的 PATH 设置。这是一个正确的结论吗? 我还希望 Task Runner Explorer 使用全局安装,但我该怎么做?

正如我的同事刚刚告诉我的那样,https://github.com/madskristensen/NpmTaskRunner/issues/66 中描述了这个问题。解决方案很简单,但前提是您知道去哪里找。

  1. 转到工具 > 选项 > 项目和解决方案 > Web 包管理 > 外部 Web 工具
  2. 在出现的弹出窗口 window 中,使用箭头按钮将条目 $(PATH) 移动到第二个位置(它可能在列表中更靠后的位置)