NVM的安装与使用
为什么选择NVM?
关于Node版本管理的软件用的比较多的两个分别是 n
和 nvm
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