macOS 安装 nvm 踩坑小记

15,746 阅读2分钟

前记

换了一台电脑,安装 nvm 的时候踩了一些坑,做个记录。

我一开始用 homebrew 安装了 node,后来打算使用 nvm 来集中管理 node 版本,所以要先把之前下载的 node 卸载掉。

卸载 node 相关模块

如果你和我一样之前已经全局安装了 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

在下载 nvm 之前先检查当前用户的 home 目录下是否存在 .bash_profile 文件,没有的话要先创建。

创建完毕之后是不用对文件进行任何写入操作的,因为后面下载 nvm 的时候,它会自动找到我们新建的这个文件并写入相应内容。

我看到网上很多教程都要求主动往 .bash_profile 文件写入内容,其实并不需要。

# 1.创建 .bash_profile 文件
touch ~/.bash_profile
# 2.运行下载/更新脚本
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.2/install.sh | bash

nvm: command not found

很不幸,我跟着网上的 n 篇教程,下载完毕之后试过大家给出的 n 种方法,包括什么重启终端、在 nvm 文件夹里也复制一份 .bash_profile 文件、手动修改配置文件啥啥啥的,结果还是提示 nvm: command not found。

后来我发现每次执行 source ~/.bash_profile 之后会生效(我之前新建的配置文件),但是只生效一次。

后来总算找到解决方法,大致是因为我的系统是最新更新的 macOS Catalina 系统,默认的 shell 是 zsh,所以找不到配置文件啥的。

解决方法如下:

# 1.新建一个 .zshrc 文件(如果没有的话)
touch ~/.zshrc
# 2.在 ~/.zshrc文件最后,增加一行 
source ~/.bash_profile

安装 node

# 最新稳定版本
nvm install stable

参考文章

在 Mac 下安装 nvm 管理 node(解决版)