在Visual Studio 2017中更新节点版本


91

有谁知道在Visual Studio 2017中更新节点的认可方法吗?我已经在开发PC上设置了Node 6,但是VS2017似乎附带了Node 5的捆绑副本,这意味着npm install在命令行上运行会设置各种程序包,例如node-sass与Node 6的绑定,因此当我运行gulp时VS Task Runner中的任务由于版本不匹配而失效。

我在安装VS Node时发现了,C:\Program Files (x86)\Microsoft Visual Studio 14.0\Web\External但我有点不愿意修改并替换它。任何人都有升级的经验吗?我知道可以通过降级PC上的版本进行同步,但这似乎是倒退。


1
前谷歌结果“的Visual Studio版本节点”好像它可能做的伎俩:ryanhayes.net/...
乔·克莱

2
@JoeClay适用于VS2015,在VS2017中发生了变化。我已经尝试过Google ...
亨利·威尔逊,

3
啊,我刚打开VS,选项已经移了……
乔·克莱

github.com/aspnet/JavaScriptServices/issues/1686也相关,这意味着nodejs位置必须存在于System的Path变量中。
Atiq Rahman

Answers:


159

去:

工具>选项>项目和解决方案> Web软件包管理>外部Web工具

然后,您需要将Node安装目录添加到列表的顶部,如下所示:

屏幕截图


不知道它做什么,因为它没有更新任何东西。
drewid '10

34
作为一种对我有用的替代方法,只需将$(PATH)向上移动一个,这样它将取代Web \ External目录(假设节点已安装在您的环境路径中)
Leniency

我的工作是按照答案说的做的。但是,这是第二次发生此问题,这是第一次使用@Leniency的注释解决。:)
Imdad

1
“取代”或“取代”
N73k

@Leniency对我来说是一种享受-节点扩展(Mads的NPM Task Runner)正在使用不同的(VS)版本的节点,但失败了-谢谢!
迈克尔·哈珀

52

您无需添加新的Node安装目录,Node位于PATH中。请注意$(PATH)在内部路径$(DevEnvDir)\ Extensions \ Microsoft \ Web Tools \ External之下如何。

要在内部路径之前使用全局PATH环境变量,只需使用右上角的箭头即可更改顺序。

这是在内部PATH之前搜索全局PATH的样子,因此将使Visual Studio使用您自己的工具版本。 在此处输入图片说明


谢谢。这很好用,我更喜欢添加nodejs目录。
蒂姆·特纳

这对我有用。某些程序包最终在“ $(PATH)”之前,但是当我将“ $(PATH)”移到“。\ node_modules \ .bin”下方时,gulp重新开始工作,我的Web应用程序图标又回来了:)
Phil

0

对我来说,问题出在该node.exe文件所在的同一目录中有一个本地文件csproj以及一个node.exe.config文件。

我有一个构建后事件,该事件将调用它gulp来执行其他一些工作,而VS2017将使用本地node.exe文件而不是$(PATH)变量中列出的文件。这是我不想使用的较早版本的节点,所以对我来说,解决方案是删除本地,node.exe以便使用列出的节点,$(PATH)或者node.exe如果node.exe.config确实需要,则升级本地文件。

我只是想在这里添加它,以防其他人遇到同样的问题。


0

看起来好像在

工具>选项>项目和解决方案> Web软件包管理>外部Web工具

没有效果。但是可以通过以下方式设置节点版本

项目>属性

项目>属性屏幕截图

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.