macOS卸载Node.js后仍存在旧版本的问题求助
彻底卸载 macOS 上的 Node.js(解决残留旧版本问题)
这种情况太常见了——你用brew卸载了Node,但旧版本还能被检测到,十有八九是因为你的Node.js不止通过Homebrew安装过,可能之前还用过官方pkg安装包、手动编译或者其他工具装过,这些路径brew是管不到的。
按下面的步骤一步步来,保证把所有残留都清干净:
1. 先定位所有Node相关文件的位置
打开终端,先跑这两个命令,找出系统里所有Node的踪迹:
which node whereis node
这会输出Node可执行文件的路径,比如/usr/local/bin/node或者/usr/local/Cellar/node/16.18.0/bin/node,把这些路径记下来,后面要用到。
2. 清理Homebrew相关的残留
先确认brew里还有没有遗留的Node版本:
brew list --versions node
如果输出里还有其他版本,就逐个卸载:
brew uninstall node@16 # 把16换成你看到的具体版本号
然后清理brew的缓存和残留文件:
brew cleanup node
3. 删除非brew安装的Node文件
如果之前用过官方的pkg安装包,先删掉对应的安装记录和文件:
sudo rm -rf /Library/Receipts/org.nodejs.pkg sudo rm -rf /usr/local/lib/node_modules sudo rm /usr/local/bin/node sudo rm /usr/local/bin/npm sudo rm /usr/local/bin/npx
另外,别忘了清理用户目录下的配置文件,避免影响后续重新安装:
rm -rf ~/.npm rm -rf ~/.node-gyp rm -rf ~/.nvm # 如果之前用过nvm版本管理器,也一起删掉
4. 验证卸载是否彻底
关闭当前终端窗口,重新打开一个新的(这一步很重要,避免终端缓存影响结果),然后运行:
node -v npm -v
如果两个命令都提示command not found,就说明所有版本的Node.js都被彻底卸载干净了。
内容的提问来源于stack exchange,提问作者Sandip Bhuyan




