nvm 介绍
nvm全称 Node Version Manager ,意思为node版本控制;它是一个命令行应用,可以快速地更新、安装、使用、卸载本机的全局 node.js 版本。他可以在同一台电脑上进行多个node版本之间的切换,而这正是nvm的价值所在。
当你同时进行两个或多个node项目开发,并且这些项目的node版本不一样时,nvm可以很好的帮你管理pc上的node版本切换
nvm 安装
我使用的 zshShell ,如果你也是的话,请看以下配置:
1. 卸载已安装到全局的 node/npm
安装 nvm 之前最好先删除下已安装的 node 和全局 node 模块,避免引起冲突
○ 第一步:打开终端,输入以下命令显示 Node.js 的安装路径:
which node
执行该命令后,会显示安装路径:/usr/local/bin/node
○ 第二步:输入以下命令删除 Node.js 相关的文件:
sudo rm -rf /usr/local/bin/npm
sudo rm -rf /usr/local/share/man/man1/node.1
sudo rm -rf /usr/local/lib/dtrace/node.d
sudo rm -rf ~/.npm
sudo rm -rf ~/.node-gyp
sudo rm /usr/local/bin/node
该命令会删除 Node.js 的可执行文件、npm 包管理器、手册页、DTrace 跟踪文件和用户目录下相关文件。
○ 第三步:确定是否完全卸载 Node.js。在终端中输入以下命令:
node -v
如果显示“command not found”,则表示已经卸载干净。
2. 安装 nvm
node 卸载完成后,通过mac 自带的 brew 来安装 nvm
brew install nvm
安装完成后会显示一段内容
You should create NVM's working directory if it doesn't exist:
mkdir ~/.nvm
Add the following to ~/.config/fish/config.fish or your desired shell
configuration file:
export NVM_DIR="$HOME/.nvm"
[ -s "/opt/homebrew/opt/nvm/nvm.sh" ] && \. "/opt/homebrew/opt/nvm/nvm.sh" # This loads nvm
[ -s "/opt/homebrew/opt/nvm/etc/bash_completion.d/nvm" ] && \. "/opt/homebrew/opt/nvm/etc/bash_completion.d/nvm" # This loads nvm bash_completion
You can set $NVM_DIR to any location, but leaving it unchanged from
/usr/local/opt/nvm will destroy any nvm-installed Node installations
upon upgrade/reinstall.
根据上述信息得知应在 配置文件中加入以上内容
打开 zsh Config
vim ~/.zshrc
键盘输入【i】进入编辑状态,将 以下内容复制到.zshrc中
export NVM_DIR="$HOME/.nvm"
[ -s "/opt/homebrew/opt/nvm/nvm.sh" ] && \. "/opt/homebrew/opt/nvm/nvm.sh" # This loads nvm
[ -s "/opt/homebrew/opt/nvm/etc/bash_completion.d/nvm" ] && \. "/opt/homebrew/opt/nvm/etc/bash_completion.d/nvm" # This loads nvm bash_completion
export NVM_NODEJS_ORG_MIRROR=https://npm.taobao.org/mirrors/node # 由于节点在国外在这里换镜像源
完成内容修改之后,按键盘【esc】退出编辑状态,此时无法对内容进行修改。键盘输入【:wq!】强制保存并退出vim,回到终端的界面
保存后新开终端或者在原终端窗口重新加载配置文件即可
source ~/.zshrc
我进行到这的时候,遇到了一个报错,记录一下
~ % source ~/.zshrc
/Users/tong/.zshrc:5: bad assignment
搜索到报错原因是,要去掉等号两侧的空格。我删除了等号两侧的空格,还把注释删掉了,调整了下,再运行就成功了。
如果觉得此文章不错或对你有所帮助,期待你的点赞支持💫!❤️ni!