nvm 是一个 node.js 版本管理器,可以实现一台主机上共存多个nodejs版本,切换方便。
安装或者更新nvm,都可以通过以下脚本:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh | bash
或者
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh | bash
该脚本会克隆nvm仓库到~/.nvm,并且尝试将下面的代码片段中的源代码添加到正确的profile文件中( ~/.bash_profile, ~/.zshrc, ~/.profile, or ~/.bashrc)
export NVM_DIR="$([ -z "${XDG_CONFIG_HOME-}" ] && printf %s "${HOME}/.nvm" || printf %s "${XDG_CONFIG_HOME}/nvm")"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
在linux系统中,如果运行nvm -v后
nvm: command not found
简单地关闭当前终端,打开一个新的终端再次尝试。
从OS X10.9起, /usr/bin/git
已经被Xcode命令行工具预置,这意味着我们无法正确检测Git是否已经安装。您需要在运行安装脚本之前手动安装Xcode命令行工具,否则将会失败。(请查看 #1782)
Mac OS X中安装命令行工具Command Line Tools(无Xcode)
如果运行安装脚本后发现nvm: command not found
,可能是以下原因之一:
.bash_profile
文件。用touch ~/.bash_profile
创建一个然后再次运行安装脚本. ~/.nvm/nvm.sh
。重新启动终端,或者运行source命令来加载命令和新的配置。如果以上没有解决问题,你可以尝试以下方法:
.bash_profile
(或 ~/.profile
) 没有正确source~/.bashrc
。你可以通过添加source ~/.bashrc
到上述文件中来解决问题或者按照下面步骤~/.bash_profile
, ~/.zshrc
, ~/.profile
, or ~/.bashrc
)。export NVM_DIR="$([ -z "${XDG_CONFIG_HOME-}" ] && printf %s "${HOME}/.nvm" || printf %s "${XDG_CONFIG_HOME}/nvm")"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
这段代码会去查询正确的nvm目录并且加载nvm要验证nvm是否已经安装,请执行:
command -v nvm
如果nvm安装成功,则会输出nvm
。请注意which nvm
命令不能正常工作,因为nvm是一个sourced shell函数,而不是一个可执行的二进制文件。
要下载、编译、安装最新的node版本,请执行
nvm install node # "node" is an alias for the latest version
要安装指定node版本
nvm install 6.14.4 # or 10.10.0, 8.9.1, etc
安装的第一个版本会成为默认版本。新的shell将会使用这个默认的node版本(e.g., nvm alias default).
你可以通过ls-remote
列出所有可用的node版本
nvm ls-remote
切换node版本
nvm use 6.14.4 # or 10.10.0, 8.9.1, etc
<font color=red>切换node版本后仅在当前shell生效,新起shell终端会重新使用default的node版本</font>
你也可以获取已安装的可执行命令的路径:
nvm which 14.4.0
会输出/root/.nvm/versions/node/v14.4.0/bin/node
使用指定的node版本运行脚本
nvm run 6.10.3 app.js
卸载指定node版本
nvm uninstall 8.6.0
输出Uninstalled node v8.6.0
如果你想要安装一个新的node.js版本并且从上一个版本迁移npm包
nvm install node --reinstall-packages-from=node
首先它会使用nvm version node
标识你要从其中迁移包的当前版本。然后解析要从远程服务器安装的新版本并安装它。最后,它运行nvm reinstall-packages
将npm包从以前版本的Node重新安装到新版本。
你也可以从指定的node版本安装、迁移npm包像这样:
nvm install 6 --reinstall-packages-from=5
查看已安装的版本
nvm ls
设置新shell中使用的默认node版本,使用'default'别名: nvm alias default 14.4.0
要手动移除nvm,执行下面的命令:
$ rm -rf "$NVM_DIR"
编辑~/.bashrc
(或者其他shell资源配置文件)并移除以下代码段:
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
[[ -r $NVM_DIR/bash_completion ]] && \. $NVM_DIR/bash_completion