Node.js 如何卸载从pkg(Mac OS X)安装的nodejs?
我在Mac上安装了来自pkg文件的NodeJS。现在我需要卸载它。请告诉我怎么做。 我试图从此列表中删除文件: lsbom-f-l-s-pf/var/db/receipts/org.nodejs.pkg.bom 但节点仍在我的计算机上。我运行了:Node.js 如何卸载从pkg(Mac OS X)安装的nodejs?,node.js,pkg-file,Node.js,Pkg File,我在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/lo
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
。gist已相应更新。如果您是从其安装的节点安装的,请尝试以下操作:
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的回答):
sudorm-rf/usr/local/lib/node\
/usr/local/lib/node_模块\
/var/db/receives/org.nodejs.
为了删除'native'node.js安装,我使用了前面的答案中建议的方法sudo npm卸载npm-g
,以及附加的sudo rm-rf/usr/local/lib/node/usr/local/lib/node_模块/var/db/receives/org.nodejs.
但是,我还必须删除以下两个目录:
sudo rm -rf /usr/local/include/node /Users/$USER/.npm
只有在这之后,我才能用自制软件安装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
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
我也不得不删除以下文件,因为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安装节点
==>下载https://homebrew.bintray.com/bottles/node-9.11.1.high_sierra.bottle.tar.gz
已下载:/Users/xxx/Library/Caches/Homebrew/node-9.11.1.high_sierra.battle.tar.gz
==>浇注节点-9.11.1.high_sierra.瓶子.tar.gz
==>注意事项
Bash completion已安装到:
/usr/local/etc/bash_completion.d
==>摘要
非常有用。我唯一要添加的是节点0.4ish安装在/usr中,而不是/usr/local中。因此,“sudorm/usr/local/${i}”需要更改。对于我来说,我做了“sudorm/${I}”,因为pathed喜欢的bom文件是:“./usr/bin/node”,我为它创建了一个。使用它的风险自负。@谢谢你的要点/脚本!可能应该向其他人指出实际情况。另外,作为运行.sh脚本的n00b,我必须$chmod u+x uninstall node.sh
,然后$./uninstall node.sh
,然后才能对我起作用。:)是的,很酷的回答。不管怎样,我还有一点剩余,刚刚用rm-rf/Users/me/local/bin/node
完成了这项工作,现在节点不稳定了@Gomino在运行类似的东西时,我会更一般地说,你真的应该检查你的系统和脚本,以了解它是否会做你想要的事情。该脚本是针对旧版本的macOS和Node.js编写的,因此可能需要更新。我是否可以注意到sudo npm uninstall npm-g
比下面给出的答案更安全、更简单?但这并不能卸载Node.jsI。我的脚本安装在/opt/local/bin中,这可能是因为您使用了MacPorts。这之后对我有用@nicerobot的脚本(评分较高的答案)失败了,声音刺耳。卸载并重新安装了0.10.32,也缺少/usr/local/lib/dtrace/node.d
缺少/var/db/receives/org.nodejs.
对我来说还不够-还必须sudo rm/usr/local/bin/node/usr/local/share/man/man1/node.1/usr/local/lib/dtrace/node.d对我来说非常有用!跳过最后一行,使节点在系统上保持卸载状态。感谢@Rich的评论,我已注释掉最后一行。使用标记将代码或路径格式化为monotype。问题是关于卸载而不是安装。。你可能拼错了,应该是…,谢谢。我的MySQL停止工作,所以我只需要删除它,这+一次重新启动就成功了。我还必须删除另外两个文件:/usr/local/share/doc/node/gdbinit
和/usr/local/share/systemtap/tapset/node.stp
得到了两个错误,如rm:/usr/local/bin/node:没有这样的文件或目录,rm:/usr/local/share/man/man1/node.1:没有这样的文件或目录我修改了您的格式。可以选择一块文本,然后单击大括号图标以获取单空格文本。或者,如果你是受虐狂的话,在每行缩进四个空格。
brew install node
brew link node