简介
NVM是node.js的版本管理器,设计为每个用户安装,每个shell调用。可以在任何posix兼容的shell (sh、dash、ksh、zsh、bash)上工作,特别是在这些平台上:unix、macOS和windows WSL。
背景
随着项目数量增加,不同项目对node版本有不同要求,基于现有的单node版本无法支持多项目多node进行研究。
教程
系统:Linux(CentOS7.6)
一、 安装(建议安装前将把原node卸载干净)
1、命令下载(命令模式默认安装在root目录下,可修改install.sh脚本中nvm_default_install_dir()方法更改默认路径)
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash
或
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash
2、本地下载
①下载:从官网 https://github.com/nvm-sh/nvm/releases 下载.gz安装包,并放入Linux服务器中
②解压:解压下载的安装包
tar -zxvf nvm-0.39.3.tar.gz
二、 配置(如是命令下载,直接执行第4步)
1、编辑:编辑~/.bashrc文件
vi ~/.bashrc
2、配置环境变量:在文件末尾加上以下配置
#以下路径/usr/local/nvm/nvm-0.39.3为nvm安装路径
export NVM_DIR="/usr/local/nvm/nvm-0.39.3"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"
# nodejs下载更换淘宝镜像(从淘宝镜像下载还是很慢,很奇怪)
# 下载慢问题已找到原因:服务器资源太少导致
export NVM_NODEJS_ORG_MIRROR=https://npm.taobao.org/mirrors/node
3、保存并强制退出配置文件
:wq!
4、刷新配置:刷新配置才会生效
source ~/.bashrc
三、 验证
验证nvm安装是否成功(如果验证失败可重新打开会话再试一下):
nvm --version
四、 使用
1、安装node
①命令安装
A、查看所有可用的node版本(查看命令很慢)
nvm ls-remote
B、nvm安装node(这里下载很慢,还是从淘宝镜像下载的,需十分钟左右)
nvm install <version>
②本地下载安装:从 https://nodejs.org/dist/ 下载所需node版本,并上传服务器中,将解压文件移入nvm目录中的/versions/node(没有则需要自己新建)
2、使用node
①查看nvm中所有node版本
nvm ls
②使用指定node版本
nvm use <version>
③设置默认版本,下次启动会话使用该版本
nvm alias default <version>
3、验证node
①查看当前使用的node版本
node -v
②查看当前使用的npm版本
npm -v
4、安装cnpm(可选)
①使用淘宝镜像安装cnpm(注意:npm版本与cnpm版本对应关系)
npm install -g cnpm --registry=https://registry.npm.taobao.org // 不指定cnpm版本
npm install -g cnpm@6.0.0 --registry=https://registry.npm.taobao.org // 指定cnpm版本
②验证cnpm是否安装成功
cnpm -v
其他
nvm常用命令
命令 | 操作 |
---|---|
nvm --version | 查看nvm版本 |
nvm install [version] | 安装指定版本的Node.js |
nvm ls | 列出所有已安装的Node.js版本 |
nvm ls-remote | 列出远程可用的Node.js版本 |
nvm current | 显示当前正在使用的Node.js版本 |
nvm uninstal [version] | 卸载指定的Node.js版本 |
nvm alias [name] [version] | 为指定版本创建别名 |
nvm unalias [name] | 删除指定别名 |
nvm reinstall-packages [version] | 重新安装指定版本的Node.js,并将其包重新安装到新的版本上 |
nvm deactivate | 停用当前版本,并返回系统默认的Node.js版本 |
nvm alias default [version] | 将指定版本设置为默认版本 |
nvm which [version] | 显示指定版本的Node.js二进制文件路径 |
nvm cache dir | 显示nvm缓存目录的路径 |
nvm cache clear [version] | 清除指定版本的Node.js缓存 |
nvm version | 显示当前nvm的node版本 |
nvm unload | 卸载nvm |
nvm copy-packages [version] | 将已安装的包从一个版本复制到另一个版本 |
nvm help | 显示nvm帮助文档 |
npm与cnpm对应关系
npm 版本 | cnpm 版本 |
---|---|
1.x | 1.x |
2.x | 1.x |
3.x | 2.x |
4.x | 3.x |
5.x | 4.x |
6.x | 5.x |
7.x | 6.x |