为不同的 VS 解决方案使用特定版本的 npm/node?

Posted

技术标签:

【中文标题】为不同的 VS 解决方案使用特定版本的 npm/node?【英文标题】:Use specific versions of npm/node for different VS solutions? 【发布时间】:2019-07-28 18:22:55 【问题描述】:

我有一个 VS 2015 解决方案,它要求我在外部安装最新版本的 nodejs,并添加到外部 Web 工具路径。 (使用 packages.json 和 gulp 文件检索 css/js 模块并在构建时编译 ssas 的 Web 项目)

我也有使用旧版本模块的旧解决方案,并使用默认版本的 npm(1.4.9) 和 node(0.10.31)。一旦我在外部安装了较新的 nodejs 并添加到外部 Web 工具路径,npm 现在会抛出各种错误。当我处理错误时,我倾向于以 github 问题告终,其中有人打开了一个问题,并且响应是“你使用的 node/npm 版本太旧”。

在理想情况下,我们会通过旧项目将它们移植到新版本上,但这会产生更大的影响。

有没有办法指定一些项目使用默认节点/npm,而其他项目使用较新的? IE。一种使外部 Web 工具路径成为 proj/sln 级别设置而不是全局 Visual Studio 设置的方法。

【问题讨论】:

【参考方案1】:

你可以使用nvm之类的东西。

在您的项目根目录中,您将设置一个.nvmrc,您只需在其中设置版本号。例如,我的文件将有 v10.9.0,然后我只需进入目录并从命令行键入以下内容:

nvm use

您也可以让nvm 设置您的npm 版本。看到这个answer

【讨论】:

所以如果我理解正确的话,开发人员需要为 nvm 运行 Windows 安装程序,安装适当的 nodejs 版本,然后我们可以作为预构建命令在该项目中运行 nvm use,它会根据该项目中的.nvmrc 更改 nodejs 符号链接?【参考方案2】:

您可以使用 Node Version Manager(NVM) 来解决您的问题

NVM 允许在单机上运行多个节点版本,您可以使用 NVM 切换任何节点版本

更多信息可以参考

https://medium.com/appseed-io/how-to-run-multiple-versions-of-node-js-with-nvm-for-windows-ffbe5c7a2b47

【讨论】:

以上是关于为不同的 VS 解决方案使用特定版本的 npm/node?的主要内容,如果未能解决你的问题,请参考以下文章

npm 安装失败,错误 C2373 与 vs2015 更新 3

集成不同VS版本开发的应用

使用低版本的VS打开高版本项目的解决方案(以VS2008打开VS2010开发的项目为例)

我如何解决Nuget DLL地狱-无论我做什么VS都坚持认为dll版本与软件包中的版本不同

解决VS2005 VS2008 vs2010断点无效-源代码与原始版本不同

如何使用特定的 javac 二进制版本?