通过nvm管理多版本node

在通过jenkins构建前端项目的时候,可能会碰到不同的前端项目使用不同的node,此时就需要切换版本来构建,如果服务器上安装了多个版本的node,nvm就是一个好用的node版本管理工具

nvm安装也有在线和离线的区别,在线安装需要执行脚本,并需要访问github,很大程度会出现网络超时的情况,在线安装可参考链接:

https://nvm.uihtm.com/doc/install.html

本例子演示为离线安装,因为我的服务器访问github不行,总是失败

nvm 本身只是一个 shell 脚本,离线安装的核心思路就是:

  • 先把 nvm 仓库(或 nvm-windows 的发行包)拿到离线机器;
  • 手动把 Node.js 二进制包 放到 nvm 指定的目录;
  • 让 nvm 识别即可

1、首先下载nvm源码包和node二进制包,将这两个文件上传到服务器上,如下:

curl -L -o nvm-0.39.7.tar.gz https://github.com/nvm-sh/nvm/archive/refs/tags/v0.39.7.tar.gz
curl -L -o node-v10.24.1-linux-x64.tar.xz https://nodejs.org/dist/v10.24.1/node-v10.24.1-linux-x64.tar.xz

2、在服务器上安装 nvm,如下:

mkdir -p ~/.nvm    //当前用户根目录下创建隐藏文件.nvm
tar -zxvf nvm-0.39.7.tar.gz -C ~/.nvm --strip-components=1
  • –strip-components=1:参数的作用是解压的时候舍弃外层目录,直接把实际文件解压到.nvm下

加了参数就会把这些内容直接解压到.nvm下,不会包含nvm-0.39.7这个目录了

3、在环境变量文件/etc/profile或者~/.bashrc 中配置如下内容:

export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"

source /etc/profile 或者 source ~/.bashrc

4、在nvm中配置node,如下:

mkdir -p ~/.nvm/versions/node  //创建node目录,按照这个创建即可
tar -xf node-v10.24.1-linux-x64.tar.xz -C ~/.nvm/versions/node //解压到node路径
mv ~/.nvm/versions/node/node-v10.24.1-linux-x64 ~/.nvm/versions/node/v10.24.1 //注意:必须改为以v开头+版本号的形式命名

5、验证&切换,如下:

nvm ls            //查看有哪些node版本
nvm use 10.24.1  //执行切换命令
node -v          //查看当前使用的node版本

标签