1. 使用nvm安装node有什么优势?
- 安装node很方便,只需要一条命令
- 可以轻松切换node版本
- 可以多版本node并存
2. 安装
使用 curl
安装 nvm
:
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.8/install.sh | bash
复制代码
完成后 nvm
就被安装在了 ~/.nvm
下了,然后在你的profile(~/.bash_profile, ~/.zshrc, ~/.profile)
中加入:
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
复制代码
3. 下载
nvm
默认是从 node
官网下载的,国外的服务器,必然很慢。查看 ~/.nvm/nvm.sh
我们可看到:
# Setup mirror location if not already set
if [ -z "${NVM_NODEJS_ORG_MIRROR-}" ]; then
export NVM_NODEJS_ORG_MIRROR="https://nodejs.org/dist"
fi
复制代码
nvm
支持从镜像服务器下载包,所以我们只要添加一个环境变量 NVM_NODEJS_ORG_MIRROR
即可。
export NVM_NODEJS_ORG_MIRROR=https://npm.taobao.org/mirrors/node
复制代码
然后下载
nvm install 8.11.1 #下载8.11.1
nvm use 8.9.0 #使用8.9.0
nvm alias default 6.10.0 #设置默认版本
复制代码
4. 自动切换
不同的项目我们可能使用不同的 node
版本,老是使用 nvm use
切换也是个麻烦的事情,因为你也不一定能记住这个项目使用了哪个版本,nvm
的 issue
里面有人说如果有人实现这个特性,他愿意付2美刀>_<
I would pay 2$ if somebody implements this feature.
我们希望能够进入目录后,自动使用当前项目设置的 node
版本,首先可以创建一个.nvmrc
文件
node -v > .nvmrc
复制代码
然后在 .zshrc
加入一个钩子:
autoload -U add-zsh-hook
load-nvmrc() {
if [[ -f .nvmrc && -r .nvmrc ]]; then
nvm use
fi
}
add-zsh-hook chpwd load-nvmrc
复制代码
这样就万事大吉了。