nvm-一个node版本管理工具 + 打开终端自动切换node版本教程
共 5187字,需浏览 11分钟
· 2021-11-06
作者:千鸟语
来源:SegmentFault 思否社区
在日常的前端或node后台开发中,使用的部分node依赖,可能不支持当前使用的node版本,这时候如果还想使用这个依赖愉快的开发,那只能切换node版本了。
然而,卸载和安装node的麻烦程度虽然还能接受,但想在其他项目,依然使用高版本node的语法支持,要么使用webpack或gulp这种构建编译工具,要么就还是需要使用高版本node。
这时候,nvm出现了。
nvm就是node版本管理器,使用它可以安装多个版本的node,然后可以通过一行命令,轻松切换当前使用的node版本。
也就是说,不用再卸载、安装了,想用哪个版本,就用nvm安装,安完一个指令切换就可以了!
下面基于mac系统,进行一些步骤的讲解。
安装
nvm 官方教程:https://github.com/nvm-sh/nvm
卸载全局安装的node包
既然使用nvm‘托管’,那么自己之前安装的全局node包,就需要先卸载了,防止出问题。
npm、cnpm、yarn等都会被一并删掉,稍后需要重新安。
下面的指令,可以查看已经安装在全局的模块node功能模块,以便删除这些全局模块后再按照不同的 node 版本重新进行全局安装npm ls -g --depth=0
下面,是卸载步骤
也可以用 type -a node
查看一下路径,不同机器和不通安装方式,位置可能不一样。
1、删除全局 node_modules 目录,里面其实只有几个文件夹,是npm和使用npm全局安装的比如yarn、cnpm等
sudo rm -rf /usr/local/lib/node_modules
2、删除 node,其实就是卸载node环境了
sudo rm /usr/local/bin/node
3、删除全局 node 模块注册的软链,懂linux指令语法的,大概可以看懂,下面这行的命令,就是先进入到系统的全局指令文件,筛选出其中依赖于 node_modules的所有指令(其实还是步骤1中的那几个指令),然后删除
cd /usr/local/bin && ls -l | grep "../lib/node_modules/" | awk '{print $9}'| xargs rm
node -v
,如果提示node: command not found
,就说明卸载完成了安装 nvm
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
=> Profile not found. Tried (as defined in $PROFILE), ~/.bashrc, ~/.bash_profile, ~/.zshrc, and ~/.profile.
=> Create one of them and run this script again
=> Create it (touch ) and run this script again
OR
=> Append the following lines to the correct file yourself:
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
=> Close and reopen your terminal to start using nvm or run the following to use it now:
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
~/.bashrc
、~/.bash_profile
、~/.zshrc
、~/.profile
这四个文件的任意一个,加入nvm的这行指令,保存关闭,然后重启终端,就可以使用nvm指令了。v0.35.3
版本的指令如下,可以直接在官网安装最新版本的nvm,粘贴最新版的指令(下面是官网提供的指令,也可以使用安装完成后,上面打印出来的指令):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
~/.bash_profile
,如果有,则直接在里面的最后面加上上面的代码即,然后执行source ~/.bash_profile
,重载此文件,nvm就可以正常使用了。安装失败
cd ~/
git clone https://github.com/nvm-sh/nvm.git .nvm
cd .nvm
git checkout v0.38.0
. ./nvm.sh
~/.bashrc
、 ~/.profile
,或 ~/.zshrc
,粘贴入一下代码:export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
~/.bashrc
文件中,那么执行:source ~/.bashrc
nvm使用
![](https://filescdn.proginn.com/59e1cf1c8edad231e88fab840a44ef0c/52dadf55a9aba55ec424ba9fb4dc389b.webp)
使用终端进入不同目录,avn 自动切换node版本
npm install -g avn avn-nvm avn-n
avn setup
v14.16.0
avn activated v14.16.0 via ../.node-version (avn-nvm v14.16.0)
![](https://filescdn.proginn.com/55bc6166ce3591f146c14cc0e8033c97/96f439f77e88f3fd676020136857c99e.webp)