由于新老项目依赖不同的node版本,所以需要使用nvm管理不同版本的node和npm。
卸载node及相关模块
# 查看已经安装在全局的模块
npm ls -g --depth=0
# 删除全局 node_modules 目录
sudo rm -rf /usr/local/lib/node_modules
# 删除 node
sudo rm /usr/local/bin/node
# 删除全局 node 模块注册的软链
cd /usr/local/bin && ls -l | grep "../lib/node_modules/" | awk '{print $9}'| xargs rm
安装nvm
执行安装命令
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.37.1/install.sh | bash
打开终端,进入用户的home目录中
cd ~/
检查配置文件
使用 ls -a
显示这个目录下的所有文件(夹)(包含隐藏文件及文件夹),查看有没有 .zshrc
这个文件
ls -a
新建.zshrc文件
如果没有,则新建一个
touch ~/.zshrc
配置.zshrc文件
将 nvm 环境变量添加到 shell 中, 这里我系统默认的是的zsh而不是bash,需要配置一下,打开.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
加载配置文件
source ~/.zshrc
安装14以下的版本,先进入Rosetta shell环境
arch -x86_64 zsh
常用命令
# 最新稳定版本
nvm install stable
# 列出所有可安装的版本
nvm ls-remote
# 列出所有已经安装的版本
nvm ls
# 切换使用指定的版本
nvm use <version>
# 显示当前使用的版本
nvm current
# 设置默认 `node` 版本
nvm alias default <version>
# 解除当前版本绑定
nvm deactivate
# 删除某版本的node
nvm uninstall <version>
node的安装位置
在终端我们可以使用 which node
来查看我们的 node
被安装到了哪里,这里终端打印出来的地址其实是你当前使用的 node
版本快捷方式的地址
/Users/你的用户名/.nvm/versions/node/v10.13.0/bin/node
如果你想查看所有 node
版本的安装文件夹,我们可以在 访达(finder)
中使用快捷键 Command+Shift+G
输入 /Users/你的用户名/.nvm/versions
地址就可以看到。
但是这里想说的是 Mac
默认是不显示隐藏文件夹的,.nvm
是个隐藏文件夹在 访达(finder)
中看不到,在 Mac
下显示隐藏文件的快捷键是 Command+Shift+.
,关闭也是这个快捷键
所以可以知道在 nvm
下 node
版本管理方式,安装的模块不是公用的,也就是说你在切换版本后需要在切换的版本下重新安装