如何从 pkg (MacOSX)卸载安装的 nodejs?

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

Lsbom-f-l-s-pf/var/db/books/org.nodejs.pkg.bom

但是节点还在我的电脑上。

178126 次浏览

我跑过去:

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在上述。要点已相应更新。

如果您从他们的 网站安装 Node,请尝试以下操作:

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

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

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

Sudo rm-rf/usr/local/lib/node /usr/local/lib/node _ module *

为了删除“本机”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。

下面是我使用的所有命令列表(非常感谢上面的海报) :

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

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

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

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

#!/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

我采用了 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

我不得不删除以下文件,因为后来在手动删除所有文件后,在安装中抱怨酿酒。

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


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

然后执行下面的操作

brew install node


brew link node

下面的代码经过反复试验后仍然有效,而且这些目录是不可写的,所以我删除了它们,最终得到了 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

你可以用我的分叉要点: 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 +)。