每个语言应该有自己的版本管理器,Python 有 pyenv ,Ruby 有 rbenv,Node 也有 nvm

安装

curl

1
$ curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.8/install.sh | bash

wget

1
$ wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.33.8/install.sh | bash

修改 ~/.bash_profile 配置环境变量

1
2
3
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion

检查安装结构

1
$ command -v nvm

如果安装成功,该命令会输出 nvm,还有其他的安装方式,见文档

命令

下载 node 最新版本

1
$ nvm install node

node 会被下载到 ~/.nvm/versions 目录下,使用 which 命令可以查看某个版本所在位置

1
2
$ nvm which 9.3.0
# /Users/wxnacy/.nvm/versions/node/v9.3.0/bin/node

当然我们还可以下载指定版本

1
$ nvm install 8.4.0

同时指定使用该版本

1
2
$ nvm use 8.4.0
# Now using node v8.4.0 (npm v5.3.0)

想要使用最新版本

1
2
$ nvm use node
# Now using node v9.3.0 (npm v5.5.1)

use 命令只能在当前终端有效,下次打开终端又会回到最初的版本,想要默认使用某个
版本,需要使用 alias 命令

1
$ nvm alias default 8.4.0

默认使用最新版本

1
$ nvm alias default node

版本管理最应该做的事情,就是可以让不同的项目运行在不同的版本下

1
$ nvm run 8.4.0 index.js

在试了这么久后,我想知道机器都装了哪些版本

1
2
3
4
5
$ nvm ls
# v8.0.0
#-> v8.4.0
# v9.3.0
# system

想要删掉不用版本也很简单

1
$ nvm uninstall 8.0.0

如果你连 nvm 也不想要了,那就直接把刚才哪些配置去掉,并把 ~/.nvm 目录删除即可

简单的用法就是这些,如果想要更深入了解它的用法,请看文档

03-16 19:18