在我的Mac上,我想使用Homebrew安装早期版本的Node和NPM - 我目前正在运行Node / NPM 8.2.1/5.3.0
,我想切换到{{1} },如documentation。
我跑了
6.11.2/3.10.10
虽然这似乎改变了我的节点版本 - $ brew install node@6
$ brew unlink node
$ brew link node@ --force
- > $ node -v
- 我的NPM版本仍停留在6.11.2
。
如何将NPM切换到其他版本(如果需要,可以将其切换回来)?
答案 0 :(得分:7)
首先尝试卸载所有节点版本:brew rm node
,然后确保node -v
和npm -v
打印command not found
。
之后安装nvm
或n
来管理节点版本。这些版本管理器有一个很大的优势,它们允许您拥有一些节点版本并可以轻松地在它们之间切换。
使用nvm:
nvm install v6.11.2
答案 1 :(得分:1)
幸运的是,如果你是像我一样发现nvm过度的人,有一种很好的方法可以做到这一点,特别是如果你只需要一个app / api支持版本(例如johnny-five)。您可以实际创建第二个节点"而不是安装节点版本管理器。与另一个自制的node.js安装版本。
首先安装要使用的其他版本的节点,例如node @ 4,然后取消链接该版本的符号链接(您可以使用任何brew安装版本)。
$ brew install node@4 && brew unlink node@4
安装和取消链接后,转到文件夹/ usr / local / bin,并为要访问的其他版本添加自定义符号链接:
$ cd /usr/local/bin
$ ln -s ../Cellar/node\@4/4.8.5/bin/node ./node4
现在,您可以使用命令节点作为先前版本,使用 node4 作为节点@ 4版本。
当然我们不想将npm包与两个版本混合使用,所以让我们通过为节点@ 4版本创建一个新的npm目录来解决这个问题:
$ mkdir ~/.npm4
$ npm config set prefix ~/.npm4
现在您已准备好为第二个版本安装全局包!每次你想要切换版本时你都可以简单地交换前缀,因为我们正在寻找一个简单的过程,这可能不会经常发生。
当然,您可能需要在切换版本时不需要主动的东西,并且您可以随时在某处安装单独版本的npm并使用与节点版本相同的方式对其进行符号链接,这可能会让人感到困惑随着时间的推移升级npm。
其他一些选择:
所以几乎没有各种选择,但我会把这一切都留给你......