最近,因为不同项目需要的Node.js版本不一样,安装了Node Version Manager(nvm)来对Node.js进行版本管理,现记录一下过程。
可参考nvm Github地址:https://github.com/nvm-sh/nvm#installing-and-updating
1. 在安装nvm之前需要卸载之前安装的Node.js,在终端中执行以下命令:
// 正常安装的node,执行下述命令删除node
sudo rm -rf /usr/local/lib/node_modules
sudo rm /usr/local/bin/node
// 如果使用Homebrew安装的,执行下述命令进行删除node
brew remove --force node
2. 安装nvm
方法一:使用官网给出的命令安装nvm。
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.5/install.sh | bash
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.5/install.sh | bash
方法二:如果已经安装了Homebrew,可以使用Homebrew安装nvm。
brew install nvm
3. 安装成功后如果提醒“You should create NVM's working directory if it doesn't exist”的话执行下面的命令。
mkdir ~/.nvm
4. 配置文件,本文的shell是zsh,需要设置.zshrc文件。
① 运行命令打开文件。
open .zshrc
② 追加下述配置项,最终效果如图 4-1 所示。
export NVM_DIR="$HOME/.nvm"
[ -s "/usr/local/opt/nvm/nvm.sh" ] && \. "/usr/local/opt/nvm/nvm.sh" # This loads nvm
[ -s "/usr/local/opt/nvm/etc/bash_completion.d/nvm" ] && \. "/usr/local/opt/nvm/etc/bash_completion.d/nvm" # This loads nvm bash_completion

③ 保存.zshrc文件后,重新运行配置文件。
source ~/.zshrc
5. 运行命令 nvm ,判断是否成功,如图 5-1 所示则为成功安装了nvm。
nvm

6. 现在可以开始安装需要的Node.js。
① 选择自己需要的版本运行如下命令,例如版本号为v18.18.2。
nvm install v18.18.2
② 运行命令可以查看已经安装的版本,如图 6-1 所示。
nvm ls

7. 切换Node.js版本,运行如下命令,最终效果如图 7-1 所示。
nvm use 16

8. 安装nvm后,出现每次打开终端都会出现 Ignore insecure directories and continue [y] or about compinit [n]?的提醒,如图 8-1 所示。

解决办法:
方案一,如果不嫌麻烦,可以每次输入y选择继续。
方案二,找到不安全的目录或者文件,赋予权限。
① 找到不安全的目录或者文件,运行如下命令。
// 查看那些目录或者文件是不安全的
compaudit
② 以本人电脑为例,显示结果如图 8-2 所示。

③ 分别每个目录或者文件赋予读、写、执行(rwx)权限 ,执行下述命令。
chmod 700 /usr/local/share/zsh/site-functions
chmod 700 /usr/local/share/zsh
④ 关闭终端重新打开后不会出现上述提示。