使用package.json - 可维护和便携的方式???????????
让每个项目指定自己的版本
您可以在package.json 中添加node 作为依赖项,并控制用于特定项目的版本。执行package.json“脚本”后,npm(和yarn)将使用该版本而不是全局安装的 Node.js 来运行脚本。
node 包通过为您的本地系统下载node 二进制文件并将其放入node_modules/.bin 目录来完成此操作。
您也可以使用npm(或yarn)包来执行此操作,但您需要专门设置您的PATH 或使用类似npx 的东西来为您处理。
Ubuntu - 官方方式(手动)?
如果您在节点 12 上并想降级到节点 10,只需删除节点并按照所需版本的说明进行操作:
# Remove the version that is currently installed
sudo apt remove -y nodejs
# Setup sources for the version you want
curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -
# (Re-)Install Node
sudo apt-get install -y nodejs
Windows - 官方方式(手动)?
我发现自己想从最前沿降级到 Windows 上的 LTS。如果您没有使用像 Chocolatey 这样的包管理器或像 nvm 或 n 这样的节点版本管理器,只需下载您想要的版本的 .msi 并安装它。您可能希望通过 Windows 中的“添加或删除程序”工具删除当前安装的版本。
Windows 包管理器 - winget ??
The Open Source Windows Package Manager Way
winget install -e --id OpenJS.Nodejs -v 14.9.0
Chocolatey - 独立包装管理方式?
Chocolatey 有助于轻松更新安装,它是在 Windows 上安装 Node.js 的常用方法。在安装 LTS 版本之前,我必须删除最前沿的版本:
choco uninstall nodejs
choco install nodejs-lts
节点版本管理器 - “去死吧,我会自己做!”方式????????
虽然不是很便携或易于维护,但一些开发人员喜欢手动切换节点的哪个全局版本在任何给定时间点处于活动状态,并认为这样做的官方方式太慢了。有两个流行的 Npm 包提供了有用的 CLI 界面,用于选择(并自动安装)您想要的系统版本:nvm 和 n。使用任何一个都超出了这个答案的范围。
我强烈建议不要使用此选项。尽管它很流行,但它是一种反模式,肯定会在未来引起头痛。当然,.nvmrc 存在,但这是在重新发明已经是 Npm 一部分的东西。只需npm i node您想要的版本。