文章目录
- 一、确认 Node.js 的安装方式
- 二、卸载 Node.js 的通用步骤
- 1. 通过官方安装包(.pkg)安装的 Node.js
- 2. 通过 Homebrew 安装的 Node.js
- 3. 通过 nvm 安装的 Node.js
- 三、验证是否卸载成功
- 四、推荐使用 nvm 管理 Node.js 版本
- 五、常见问题
- 1. 卸载后仍然有残留文件?
- 2. 权限不足?
- 结语
在开发过程中,有时我们需要卸载旧版本的 Node.js,尤其是当我们想要切换到其他版本时。下面是针对 Mac M4 芯片(以及其他 Mac 电脑)卸载高版本 Node.js 的详细步骤。
一、确认 Node.js 的安装方式
首先,需要确定你的 Node.js 是通过什么方式安装的。常见的安装方式有以下几种:
- 通过官方安装包(.pkg)安装
- 通过 Homebrew 安装
- 通过 nvm(Node 版本管理工具)安装
二、卸载 Node.js 的通用步骤
1. 通过官方安装包(.pkg)安装的 Node.js
如果你是通过官方提供的 .pkg
文件进行安装的,卸载过程稍微复杂一些。你需要手动删除相关的文件。
步骤:
-
删除 Node.js 主程序:
sudo rm -rf /usr/local/bin/{node,npm,npx}
-
删除 Node.js 模块:
sudo rm -rf /usr/local/lib/node_modules/
-
删除全局配置和缓存:
sudo rm -rf /usr/local/include/node/ sudo rm -rf /usr/local/share/man/man1/node.1 sudo rm -rf ~/.npm sudo rm -rf ~/.node-gyp
-
删除系统配置(如果有):
sudo rm -rf /etc/{paths.d,manpaths.d}/node
2. 通过 Homebrew 安装的 Node.js
如果你是通过 Homebrew 安装 Node.js,卸载过程就非常简单:
-
卸载 Node.js:
brew uninstall node
-
清理 Homebrew 的残留文件:
brew cleanup
3. 通过 nvm 安装的 Node.js
如果你是通过 nvm
安装 Node.js,卸载指定版本非常方便。你可以按照以下步骤操作:
-
查看已安装的 Node.js 版本:
nvm ls
-
卸载指定版本(例如,卸载版本 20.0.0):
nvm uninstall 20.0.0
三、验证是否卸载成功
卸载完成后,运行以下命令检查是否卸载成功:
-
查看 Node.js 版本:
node -v
如果 Node.js 已被成功卸载,应该会提示
"command not found"
。 -
查看 npm 版本:
npm -v
如果 npm 已被成功卸载,同样会提示
"command not found"
。
四、推荐使用 nvm 管理 Node.js 版本
为了避免版本冲突和更加方便地管理多个 Node.js 版本,建议使用 nvm
(Node Version Manager)来管理 Node.js 的安装和卸载。
步骤:
-
安装 nvm:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
-
重新加载终端配置:
-
如果你使用的是 Zsh,执行:
source ~/.zshrc
-
如果你使用的是 Bash,执行:
source ~/.bashrc
-
-
安装指定版本的 Node.js(例如安装 v16.20.2):
nvm install 16.20.2
-
设置默认版本:
nvm alias default 16.20.2
五、常见问题
1. 卸载后仍然有残留文件?
如果你卸载 Node.js 后,运行 node -v
仍然显示版本号,说明可能存在一些残留文件。可以按照以下步骤手动清理:
-
检查 Node.js 安装路径:
which node
输出路径可能是
/usr/local/bin/node
。 -
删除该路径下的文件:
sudo rm -rf /usr/local/bin/node
2. 权限不足?
如果你遇到权限不足的情况,使用 sudo
提升权限即可:
sudo rm -rf /path/to/file
结语
通过上述步骤,你可以彻底卸载 Mac M4 上的高版本 Node.js。如果以后有多个 Node.js 版本需求,强烈推荐使用 nvm 来管理不同版本的 Node.js,避免版本冲突和环境问题。
提示:更多内容可以访问Clang’s Blog:https://www.clang.asia