为不同的 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打开高版本项目的解决方案(以VS2008打开VS2010开发的项目为例)
我如何解决Nuget DLL地狱-无论我做什么VS都坚持认为dll版本与软件包中的版本不同