132

我从 Mac 上的 pkg 文件安装了 NodeJS。现在我需要卸载它。请告诉我该怎么做。我试图从此列表中删除文件:

lsbom -f -l -s -pf /var/db/receipts/org.nodejs.pkg.bom

但是节点仍在我的计算机上。

4

11 回答 11

172

我跑了:

lsbom -f -l -s -pf /var/db/receipts/org.nodejs.pkg.bom \
| while read i; do
  sudo rm /usr/local/${i}
done
sudo rm -rf /usr/local/lib/node \
     /usr/local/lib/node_modules \
     /var/db/receipts/org.nodejs.*

编码为要点 2697848

更新 似乎收据.bom文件名可能已更改,因此您可能需要在上面替换org.nodejs.pkg.bomorg.nodejs.node.pkg.bom。要点已相应更新。

于 2012-02-15T02:58:58.343 回答
121

如果你是从他们的网站安装 Node 的,试试这个:

sudo rm -rf /usr/local/{bin/{node,npm},lib/node_modules/npm,lib/node,share/man/*/node.*}

这对我有用,但如果你有任何问题,我的 GitHub 是“mnafricano”。

于 2013-06-20T00:55:46.160 回答
75

在之前的帖子之后,这是我使用的完整列表

sudo npm uninstall npm -g
sudo rm -rf /usr/local/lib/node /usr/local/lib/node_modules /var/db/receipts/org.nodejs.*
sudo rm -rf /usr/local/include/node /Users/$USER/.npm
sudo rm /usr/local/bin/node
sudo rm /usr/local/share/man/man1/node.1
sudo rm /usr/local/lib/dtrace/node.d
brew install node
于 2015-04-02T09:22:34.997 回答
11

为了删除“本机”node.js 安装,我使用了先前答案中建议的方法sudo npm uninstall npm -g,并附加了sudo rm -rf /usr/local/lib/node /usr/local/lib/node_modules /var/db/receipts/org.nodejs.*.

但是,我还必须删除以下两个目录:

sudo rm -rf /usr/local/include/node /Users/$USER/.npm

只有在那之后我才能用 Homebrew 安装 node.js。

于 2014-12-10T02:21:23.383 回答
8

这是我使用的命令的完整列表(非常感谢上面的海报):

sudo rm -rf /usr/local/lib/node /usr/local/lib/node_modules /var/db/receipts/org.nodejs.*
sudo rm -rf /usr/local/include/node /Users/$USER/.npm
sudo rm /usr/local/bin/node
sudo rm /usr/local/share/man/man1/node.1
brew install node
于 2015-01-16T20:44:38.490 回答
6

使用 npm 卸载。只需运行sudo npm uninstall npm -g即可删除所有文件。要摆脱 bash 路径名之类的无关内容,请运行以下命令(来自 nicerobot 的回答):

sudo rm -rf /usr/local/lib/node \ /usr/local/lib/node_modules \ /var/db/receipts/org.nodejs.*

于 2014-07-27T17:15:37.513 回答
5

我拿了 AhrB 的清单,同时又附加了三个文件。这是我使用的完整列表:

sudo rm -rf /usr/local/lib/node /usr/local/lib/node_modules /var/db/receipts/org.nodejs.*
sudo rm -rf /usr/local/include/node /Users/$USER/.npm
sudo rm /usr/local/bin/node
sudo rm /usr/local/share/man/man1/node.1
sudo rm /usr/local/bin/npm
sudo rm /usr/local/share/systemtap/tapset/node.stp
sudo rm /usr/local/lib/dtrace/node.d
# In case you want to reinstall node with HomeBrew:
# brew install node
于 2015-08-17T04:01:42.730 回答
4

您可以使用我的分叉要点: https ://gist.github.com/ryangatchalian912/75c6894c3f3143fef366d25eb63437ab

将这些命令复制并粘贴到您的终端中

curl -ksO https://gist.githubusercontent.com/ryangatchalian912/75c6894c3f3143fef366d25eb63437ab/raw/59c25be64e5555415726bfa824ae41ae1b4539b9/uninstall-node.sh
chmod +x ./uninstall-node.sh
sudo ./uninstall-node.sh > tester.txt
rm uninstall-node.sh

它适用于 Mac OSX Big Sur (11.4+)。

于 2021-07-20T04:46:05.450 回答
3

一个小便利脚本扩展了以前的答案。

#!/bin/bash

# Uninstall node.js
# 
# Options:
#
# -d Actually delete files, otherwise the script just _prints_ a command to delete.
# -p Installation prefix. Default /usr/local
# -f BOM file. Default /var/db/receipts/org.nodejs.pkg.bom

CMD="echo sudo rm -fr"
BOM_FILE="/var/db/receipts/org.nodejs.pkg.bom"
PREFIX="/usr/local"

while getopts "dp:f:" arg; do
    case $arg in
        d)
            CMD="sudo rm -fr"
            ;;
        p)
            PREFIX=$arg
            ;;
        f)
            BOM_FILE=$arg
            ;;
    esac
done

lsbom -f -l -s -pf ${BOM_FILE} \
    | while read i; do
          $CMD ${PREFIX}/${i}
      done

$CMD ${PREFIX}/lib/node \
     ${PREFIX}/lib/node_modules \
     ${BOM_FILE}

将其保存到文件并运行:

# bash filename.sh
于 2015-04-07T11:25:48.120 回答
0

我也必须删除以下文件,因为 brew 在手动删除所有文件后稍后在安装中抱怨。

/usr/local/share/doc/node/gdbinit

/usr/local/share/systemtap/tapset/node.stp

然后执行以下操作

brew install node 

brew link node
于 2016-10-03T02:29:08.360 回答
0

以下是经过反复试验后工作的,这些目录不可写,所以我删除了它们,最后能够替换 node 和 npm。

sudo rm -rf /usr/local/share/systemtap
sudo rm -rf /usr/local/share/doc/node
sudo rm -rf /usr/local/Cellar/node/9.11.1
brew install node
==> Downloading https://homebrew.bintray.com/bottles/node-9.11.1.high_sierra.bottle.tar.gz
Already downloaded: /Users/xxx/Library/Caches/Homebrew/node-9.11.1.high_sierra.bottle.tar.gz
==> Pouring node-9.11.1.high_sierra.bottle.tar.gz
==> Caveats
Bash completion has been installed to:
  /usr/local/etc/bash_completion.d
==> Summary
  /usr/local/Cellar/node/9.11.1: 5,125 files, 49.7MB

node -v
v9.11.1
npm -v
5.6.0
于 2018-04-07T17:23:45.207 回答