Mac OS X 完全卸载并重新安装 Node.js 指南

Mac OS X 完全卸载并重新安装 Node.js 指南

技术背景

在开发过程中,有时需要完全卸载并重新安装 Node.js,可能是因为版本问题、安装损坏或需要切换到不同的版本管理方式。Mac OS X 系统下有多种方式安装 Node.js,如官方安装包、Homebrew 或 Node Version Manager (NVM),因此卸载和重新安装也有不同的方法。

实现步骤

完全卸载 Node.js

通用卸载步骤

  1. 删除相关目录和文件
    1
    2
    sudo rm -rf \
    /usr/local/{lib/node{,/.npm,_modules},bin,share/man}/{npm*,node*,man1/node*}
    BASH
    等价于:
    1
    2
    3
    4
    5
    6
    sudo rm -rf \
    /usr/local/bin/npm \
    /usr/local/share/man/man1/node* \
    /usr/local/lib/dtrace/node.d \
    ~/.npm \
    ~/.node-gyp
    BASH
  2. 检查并删除用户主目录下的相关文件
    检查 ~/local~/lib~/include 文件夹,删除其中的 nodenode_modules
  3. 删除 /usr/local/bin 下的 node 可执行文件
    1
    sudo rm -rf /usr/local/bin/node
    BASH

不同安装方式的额外步骤

  • 使用 Homebrew 安装
    1
    2
    3
    4
    5
    brew uninstall node
    # 或使用 brew uninstall --force node 移除所有版本
    brew cleanup
    rm -f /usr/local/bin/npm /usr/local/lib/dtrace/node.d
    rm -rf ~/.npm
    BASH
  • 使用官方安装包安装
    • Intel Macs 10.11.x 及以上:
      1
      2
      3
      lsbom -f -l -s -pf /var/db/receipts/org.nodejs.node.pkg.bom >> ~/filelist.txt
      cat ~/filelist.txt | while read f; do sudo rm /usr/local/${f}; done
      sudo rm -rf /usr/local/lib/node /usr/local/lib/node_modules /var/db/receipts/org.nodejs.*
      BASH
    • Intel Macs 10.10.x 及以下:
      1
      2
      lsbom -f -l -s -pf /var/db/receipts/org.nodejs.node.pkg.bom | while read f; do sudo rm /usr/local/${f}; done
      sudo rm -rf /usr/local/lib/node /usr/local/lib/node_modules /var/db/receipts/org.nodejs.*
      BASH
  • 使用 NVM 安装
    1
    2
    nvm deactivate
    nvm uninstall <version> # 指定要卸载的版本
    BASH
    如果通过 Homebrew 安装的 NVM,还需执行:
    1
    2
    3
    nvm unload shell
    brew uninstall nvm
    rm -rf $NVM_HOME
    BASH
    并从 ~/.zshrc 中移除以下代码:
    1
    2
    3
    export NVM_DIR="$HOME/.nvm"
    [ -s "/opt/homebrew/opt/nvm/nvm.sh" ] && \. "/opt/homebrew/opt/nvm/nvm.sh" # This loads nvm
    [ -s "/opt/homebrew/opt/nvm/etc/bash_completion.d/nvm" ] && \. "/opt/homebrew/opt/nvm/etc/bash_completion.d/nvm" # This loads nvm bash_completion
    BASH

重新安装 Node.js

使用 NVM 安装

  1. 安装 NVM
    1
    curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash
    BASH
  2. 安装 Node.js
    1
    2
    3
    nvm install node # 安装最新版本
    # 或指定版本安装
    nvm install 14.7.0
    BASH
  3. 验证安装
    1
    2
    node -v
    npm -v
    BASH

使用 Homebrew 安装

1
2
3
brew install node
which node # 验证安装路径
export NODE_PATH='/usr/local/lib/node_modules' # 添加到 ~/.bashrc
BASH

使用官方安装包安装

  1. Node.js 官方网站 下载 LTS 版本的安装包。
  2. 双击安装包,按照默认设置完成安装。
  3. 验证安装:
    1
    2
    node -v
    npm -v
    BASH

核心代码

完全卸载代码示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# 通用卸载
sudo rm -rf \
/usr/local/bin/npm \
/usr/local/share/man/man1/node* \
/usr/local/lib/dtrace/node.d \
~/.npm \
~/.node-gyp

# Homebrew 卸载
brew uninstall node
brew cleanup
rm -f /usr/local/bin/npm /usr/local/lib/dtrace/node.d
rm -rf ~/.npm

# 官方安装包卸载(Intel Macs 10.11.x 及以上)
lsbom -f -l -s -pf /var/db/receipts/org.nodejs.node.pkg.bom >> ~/filelist.txt
cat ~/filelist.txt | while read f; do sudo rm /usr/local/${f}; done
sudo rm -rf /usr/local/lib/node /usr/local/lib/node_modules /var/db/receipts/org.nodejs.*
BASH

重新安装代码示例

1
2
3
4
5
6
7
# NVM 安装
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash
nvm install node

# Homebrew 安装
brew install node
export NODE_PATH='/usr/local/lib/node_modules'
BASH

最佳实践

  • 使用 NVM 管理 Node.js 版本:NVM 可以方便地在不同项目中切换 Node.js 版本,避免版本冲突。
  • 备份全局安装的 npm 包:在卸载 Node.js 之前,记录全局安装的 npm 包,重新安装后再重新安装这些包。
  • 检查文件路径:在执行卸载命令之前,使用 which nodewhereis nodewhereis npmwhereis nvm 检查 Node.js、npm 和 NVM 的安装路径,确保删除所有相关文件。

常见问题

卸载后 npm 仍存在

可能是由于之前使用 MacPorts 安装过 Node.js,需要使用以下命令卸载:

1
sudo port uninstall nodejs
BASH

安装时出现文件冲突

使用 Homebrew 安装时可能会出现文件冲突,需要按照 Homebrew 提示删除冲突的文件,然后重新安装:

1
2
3
4
brew uninstall node
brew cleanup
rm -rf /path/to/conflicting/file
brew install node
BASH

无法找到 org.nodejs.pkg.bom 文件

在某些系统中,文件名为 org.nodejs.node.pkg.bom,可以使用以下命令确认:

1
cd /var/db/receipts/ && ls -la
BASH

然后使用正确的文件名执行卸载命令。


Mac OS X 完全卸载并重新安装 Node.js 指南
https://119291.xyz/posts/mac-osx-nodejs-uninstall-and-reinstall-guide/
作者
ww
发布于
2025年5月26日
许可协议