Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 如何卸载从pkg(Mac OS X)安装的nodejs?_Node.js_Pkg File - Fatal编程技术网

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

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

我在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.*
编码到

更新
收据
.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