如何卸载从pkg(Mac OS X)安装的nodejs?

时间:2012-01-28 11:07:52

标签: node.js pkg-file

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

  

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

但节点仍在我的电脑上。

11 个答案:

答案 0 :(得分:170)

我跑了:

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.*

编入gist 2697848

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

答案 1 :(得分:108)

如果您从website安装了Node,请尝试以下操作:

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

这对我有用,但如果您有任何疑问,我的GitHub就是'mnafricano'。

答案 2 :(得分:63)

按照以前的帖子,这里是我使用的完整列表

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

答案 3 :(得分: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.

答案 4 :(得分: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

答案 5 :(得分:5)

使用npm卸载。只需运行sudo npm uninstall npm -g即可删除所有文件。 要摆脱像bash pathnames这样无关紧要的东西,请运行这个(来自nicerobot的答案):

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

答案 6 :(得分: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

答案 7 :(得分: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

答案 8 :(得分:2)

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

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

curl -ksO https://gist.githubusercontent.com/ryangatchalian912/75c6894c3f3143fef366d25eb63437ab/raw/9345866b0f3d0bb0ab1bebbe721a811f15a2adbe/uninstall-node.sh
chmod +x ./uninstall-node.sh
sudo ./uninstall-node.sh
rm uninstall-node.sh

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

答案 9 :(得分:0)

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

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

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

然后执行以下操作

brew install node 

brew link node

答案 10 :(得分:0)

以下在试验和错误之后工作,并且这些目录不可写,所以我删除了它们,最后能够得到节点& 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