我从 Mac 上的 pkg 文件安装了 NodeJS。现在我需要卸载它。请告诉我该怎么做。我试图从此列表中删除文件:
lsbom -f -l -s -pf /var/db/receipts/org.nodejs.pkg.bom
但是节点仍在我的计算机上。
我跑了:
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.bom
为org.nodejs.node.pkg.bom
。要点已相应更新。
如果你是从他们的网站安装 Node 的,试试这个:
sudo rm -rf /usr/local/{bin/{node,npm},lib/node_modules/npm,lib/node,share/man/*/node.*}
这对我有用,但如果你有任何问题,我的 GitHub 是“mnafricano”。
在之前的帖子之后,这是我使用的完整列表
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
为了删除“本机”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
使用 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.*
我拿了 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
您可以使用我的分叉要点: 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+)。
一个小便利脚本扩展了以前的答案。
#!/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
我也必须删除以下文件,因为 brew 在手动删除所有文件后稍后在安装中抱怨。
/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