Node.js版本在重新启动(NVM)时回到0.4表格0.6

我使用nvm(节点版本pipe理器)将v0.4节点升级到v0.6.9我使用了以下命令:

node -v -> v0.4.x cd ~ git clone git://github.com/creationix/nvm.git ~/.nvm . ~/.nvm/nvm.sh nvm install v0.6.9 //wait a while node -v -> v0.6.9 

问题是,每次我重新启动我的Mac,node -v打印出v0.4。 所以我必须重做这个程序。 我也必须在git clone之前运行rm -rf .nvm 。 你能告诉我为什么发生这种情况,我该如何解决? 谢谢。

我想你错过的信息是,nvm可以让你同时pipe理多个版本。 这是通过与你的环境和path玩魔术。

重启后,我怀疑你只需要运行这些行:

 . ~/.nvm/nvm.sh nvm use v0.6.9 

这应该会导致你重新进入你之前安装了v0.6.9的“magic”nvm环境。

那么事情是nvm将节点安装到不在正常可执行path(/ usr / bin /)中的目录中,所以每次打开控制台或terminal时都必须将path放入PATH环境variables中. ~/.nvm/nvm.sh . ~/.nvm/nvm.sh 所以你每次打开控制台或terminal都必须这样做。 从技术上讲,你也可以像这样使用path中的节点:

 /home/alfred/.nvm/v0.6.7/bin/node -v 

如果你想自动设置你的path,你应该只是把这一行. ~/.nvm/nvm.sh . ~/.nvm/nvm.sh~/.bashrc~/.profile文件中。 每个terminal启动后,你将有你的节点。

运行以下命令查看当前正在运行的内容:

 node -v ; which node ; echo $PATH ; npm root -g 

现在,安装你想要的新版本的节点:

 nvm install xxx 

现在,将这个新版本设置为默认版本:

 nvm alias default xxx 

这不会改变你当前会话中的任何东西,所以创build新的会话,然后再试一次:

 node -v ; which node ; echo $PATH ; npm root -g 

现在应该显示你已经安装的新版本正在被使用。

我发现最简单的方法是:

 nvm alias default v8.4.0 

(插入你的版本号当然)