我在Mac上的pkg文件中安装了NodeJS。现在我需要卸载它。请告诉我该怎么做。 我试图从此列表中删除文件:
lsbom -f -l -s -pf /var/db/receipts/org.nodejs.pkg.bom
但节点仍在我的电脑上。
答案 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.*
更新
收据.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