文章

NVM的安装与使用

为什么选择NVM?

关于Node版本管理的软件用的比较多的两个分别是 nnvm

n是一个npm包使用npm i -g` 的方式全局安装。也就是说在使用n前你需要已经准备好node环境。

n会把node文件复制到/usr/local/bin目录下,所有模块自然都保存在/usr/local/lib/node_modules` 下的,因此有可能在切换了node版本后出现模块错误的情况。

而nvm(Node Version Manager)是由shell命令组成的独立软件,可以在一个全新的设备中部署node环境。

nvm会讲把node和模块安装在 ~/.nvm/ 版本信息/目录下,可以实现模块与node版本的对应,并且可以支持不同项目使用不同版本的node和模块。

NVM的安装

NVM的安装非常简单,官网提供了自动化的脚本

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash

但是受限于网络状况,这个东西根本下不动呀。只能手动安装了

手动安装

git clone https://github.com/nvm-sh/nvm.git  # 克隆git仓库
mv nvm .nvm  # 把文件夹隐藏防止误操作
cd .nvm/nvm  # 进入文件夹
sh install.sh  # 执行一下install.sh
=> => Compressing and cleaning up git repository
echo -e "\nexport NVM_NODEJS_ORG_MIRROR=http://npm.taobao.org/mirrors/node" >> ~/.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一个是not found的
如果用的是bash的话可以尝试 source ~/.bashrc source ~/.bash_profile 加载一下配置的内容

或这就重新连接一下会话

这个时候输入nvm 或者 nvm use system 就可以试一下安装是否成功。

NVM的使用

nvm ls 可以看node的大版本

nvm ls-remote 是所有的版本

nvm install 17.3.0 任意版本号安装

nvm install lts/gallium 通过版本名安装

nvm use 16.13.1 默认使用的node版本

nvm alias qwe 16.13.1 起别名

[root@VM-8-5-centos ~]# nvm use qwe
Now using node v16.13.1 (npm v8.1.2)

nvm unalias qwe 删除操作

nvm uninstall 16

可以看到各个版本都分别安装在 root/.nvm/versions/node

[root@VM-8-5-centos ~]# cd .nvm/versions/node
[root@VM-8-5-centos node]# ls
v16.13.1 v17.3.0

并且每个版本下都有一个 node_modules

[root@VM-8-5-centos node]# cd v16.13.1/lib
[root@VM-8-5-centos lib]# ls
node_modules

License:  CC BY 4.0