Nodejs是Javascript/Typescript程序员工作中必不可少的开发环境,由于历史原因和自身发展的特点,Nodejs始终处于快速的版本迭代中,且不同版本之间的兼容性并不是非常好,这就导致只安装某一个版本的nodejs对程序员来说可能是远远不够的——不同项目可能采用了不同版本的nodejs进行开发,其他参考性的开源项目或者模块等等又采用了另外的版本。在这种情况下,使用nodejs版本管理工具来在同一台电脑中安装并管理多个不同版本的nodejs是非常有必要的。在nodejs版本管理工具中,首选大名鼎鼎的NVM(node version manager),但由于NVM仅能应用于Linux和Mac系统下,在Windows平台,需要使用另一个版本管理工具NVM-Windows。需要注意的是,虽然NVM和NVM-Windows名称听上去非常相似,但后者是一个完整独立的开源项目,和NVM并没有直接关联性。
1. NVM
1.1 NVM下载与安装
按照NVM项目官方文档,下载NVM仅需(在Linux或者Mac系统下)执行下列两行命令中任意一行即可。但由于国内网络环境的原因,这两行命令常常会运行失败。稍有命令行使用经验的用户可以看到,这两行代码的作用无非是用cURL或者wget下载了nvm的安装版本并运行。因此,如果该指令运行失败,也可以直接在nvm对应地址中找到install.sh文件进行下载。或者在本地新建一个 install.sh
文件并将内容拷入其中即可。
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
官方项目中的 install.sh
内容如下,在上述命令运行失败的情况下,可以在本地新建 install.sh
文件,并将文档内容复制到其中运行即可(在Bash下通过 ./install.sh
命令即可运行,如运行失败则可能需要赋予install.sh文件运行权限,执行类似 chmod 777 install.sh
命令)。
安装完成后,在命令行粘贴下列指令即可将NVM添加到系统命令中(这是使用默认的Bash终端的,情况,如果你使用的终端是其他终端,可能需要将下列内容粘贴到对应终端的配置文件下,可能是`~/.bash_profile·
, ~/.zshrc
, ~/.profile
或者 ~/.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命令包括 nvm install, nvm use, nvm ls-remote
等等。
1.2 NVM配置
NVM默认使用官方仓库,下载和安装nodejs 速度会很慢,这时就需要配置NVM仓库到国内镜像。需要在配置文件(可能是`~/.bash_profile·
, ~/.zshrc
, ~/.profile
或者 ~/.bashrc
,在ubuntu中使用bash的话配置文件是 /.bashrc
)最后部分添加如下内容:
export NVM_NODEJS_ORG_MIRROR=https://npmmirror.com/mirrors/node/
执行完成后 source
一下配置文件,更新即可。之后再运行NVM时会使用国内镜像进行下载与安装。
1.3 nvm常用命令
nvm ls #查看本地所有node版本nvm ls-remote查看远程node版本
nvm install 13.10.1 #安装13.10.1 版本
nvm use 13.10.1 #切换至 13.10.1 版本
nvm uninstall 13.10.1 #卸载13.10.1 版本
2. NVM-Windows
2.1 NVM-Windows下载与安装
在NVM-windows版本发布页下载安装包。该项目维护和更新较慢,目前最新版本是1.17版。更新的版本需要自行根据文档进行构建。
如果下载了免安装版本,在使用前需要进行配置。如果下载的是nvm-setup安装版,则按照常规的windows安装程序进行安装即可。需要注意的是,nvm-windows默认安装在 C:\Users\[用户名]\AppData\Roaming\nvm
目录下, 在安装nvm for windows之前,需要卸载任何现有版本的node.js。并且需要删除现有的nodejs安装目录和npm安装目录(例如:”C:\Program Files\nodejs’,“C:\Users\weiqinl\AppData\Roaming\npm”)。因为,nvm生成的symlink(符号链接/超链接)不会覆盖现有安装目录。
2.2 nvm-windows配置
安装完成后,在命令行输入nvm可看到命令行提示,注意nvm-windows和nvm的命令不尽相同,熟悉nvm的用户可能需要习惯一下。nvm-windows配置文件可以通过命令行进行,也可以在安装目录下直接编辑 settings.txt
实现。
在 settings.txt
文件中修改下列行,可以配置nvm仓库为国内仓库,以加快node版本的下载和安装速度。
node_mirror: https://npmmirror.com/mirrors/node/
npm_mirror: https://npmmirror.com/mirrors/npm/
ELECTRON_MIRROR=https://npmmirror.com/mirrors/electron/
2.3 nvm-windows常用命令
nvm list #查看本地所有node版本
nvm install 13.10.1 #安装13.10.1 版本
nvm use 13.10.1 #切换至 13.10.1 版本
nvm uninstall 13.10.1 #卸载13.10.1 版本
3. 配置npm与yarn源
安装完每个版本的node后,都需要配置一下npm的安装源,以便加快npm包的安装速度,如果使用yarn作为包管理器,还需要全局安装yarn并配置安装源。
npm config get registry // 查看npm当前镜像源
npm config set registry https://registry.npmmirror.com // 设置npm镜像源为淘宝镜像
npm install -g yarn //全局安装yarn
yarn config get registry // 查看yarn当前镜像源
yarn config set registry https://registry.npmmirror.com // 设置yarn镜像源为淘宝镜像
其他部分备选源列表
开源镜像: https://npmmirror.com/mirrors/
Node.js 镜像: https://npmmirror.com/mirrors/node/
alinode 镜像: https://npmmirror.com/mirrors/alinode/
ChromeDriver 镜像: https://npmmirror.com/mirrors/chromedriver/
OperaDriver 镜像: https://npmmirror.com/mirrors/operadriver/
Selenium 镜像: https://npmmirror.com/mirrors/selenium/
electron 镜像: https://npmmirror.com/mirrors/electron/
参考资源:
1.NVM项目官网