即使在我安装brew node和NVM安装v0.6.19之后,我的节点版本始终是v0.6.1-pre。

我的节点版本是:

node -v
v0.6.1-pre

NVM这样说(在我第一次在一个bash终端中安装一个版本的节点之后):

nvm ls
v0.6.19
current:    v0.6.19

但当我重启bash时,我看到的是:

nvm ls
v0.6.19
current:    v0.6.1-pre
default -> 0.6.19 (-> v0.6.19)

那么,这个幻影节点0.6.1预版本在哪里?我该如何摆脱它?我正在尝试通过NPM安装库,以便我可以在项目中工作。

我尝试在NVM之前使用BREW进行更新,使用BREW更新和BREW安装节点。我已尝试删除/usr/local/include中的“node”目录和/usr/local/lib中的“节点”和“node_modules”。我已尝试卸载npm并按照以下说明重新安装。

所有这些都是因为我试图更新节点的旧版本以安装“zipstream”库。现在我的用户目录中有文件夹,节点版本STILL不是最新的,尽管NVM说它使用的是0.6.19。

理想情况下,我希望卸载nodejs、npm和nvm,然后在我的系统上从头安装整个程序。


当前回答

在macOS Big Sur 11.2.3版(20D91)上完全卸载Nodejs


介绍

首先,我想感谢你分享这个技巧@tonymtz。

我的系统运行的是macOS Big Sur 11.2.3版(20D91),nodejs最新当前版本:15.14.0(包括npm 7.7.6),从官方网站安装。

我尝试在MacBook Pro上完全卸载nodejs,以便使用自制软件包管理器重新安装它:

lsbom -f -l -s -pf /var/db/receipts/org.nodejs.pkg.bom | while read f; do  sudo rm /usr/local/${f}; done

但我面临着一个问题,就像@JohnAlvarez的回答中提到的@AhteshamShah:

启动第一个命令geting时:无法打开/var/db/reports/org.nodejs.pkg.bom:没有这样的文件或目录***无法打开/var/db/reports/org.nodejs.pkg-bom。–Ahtesham Shah Jun 20'19 5:09

我一头扎进了@JohelAlvarez链接的原始帖子,阅读了所有评论,我从@e2tha-e找到了这条评论:

@tonymtz在Yosemite 10.10.5上安装Node v4.0时,第一行需要lsbom-f-l-s-pf/var/db/receives/org.nodejs.node.pkg.bom |读取f时;执行sudo rm/usr/local/${f};完成与org.nodejs.pkg.bom不同的文件名否则,这就像一个魅力!

@e2tha-e是正确的,在macOS Big Sur 11.2.3版(20D91)上,从官方网站安装了nodejs最新版本:15.14.0(包括npm 7.7.6),文件名不是org.nodejs.pkg.bom,而是org.nodejs.node.pkg.bcom。

您可以在cd/var/db/receives/&&ls-la时检查此项。

Nodejs官网安装解决方案

使用首选终端,从系统中完全卸载Nodejs,如下所示:

选项1

lsbom-f-l-s-pf/var/db/receives/org.nodejs.node.pkg.bom |读取f时;执行sudo rm/usr/local/${f};完成sudo rm-rf/usr/local/lib/node/usr/local/lib-node_modules/var/db/receives/org.nodejs*

选项2

转到/var/db/recipations/并删除任何org.nodejs*

cd/var/db/receives/&&ls-lasudo rm-rf org.nodejs*

转到/usr/local/lib并删除任何节点和node_module

cd/usr/local/lib&&ls-lasudo rm-rf节点*

转到/usr/local/include并删除任何节点和node_modules目录

cd/usr/local/include&&ls-lasudo rm-rf节点*

检查$HOME目录中的任何“本地”或“lib”或“include”文件夹,并从中删除任何“node”或“node_modules”。

转到/usr/local/bin并删除任何节点可执行文件

cd/usr/local/bin&&ls-lasudo rm-rf/usr/local/bin/npmsudo rm-rf/usr/local/bin/node

您可能也需要这样做:

sudo rm-rf/usr/local/share/man/man1/node.1sudo rm-rf/usr/local/lib/dtrace/node.dsudo rm-rf~/.npm

之后,您可以检查系统中是否还有节点,或者查找系统中节点的所有出现。


Tips

搜索节点文件所在的位置,查找/-name“node”|sed-E's |/[^/]+$||'|sort-u在其他人运行共享代码之前,请检查您的目录,以确保您编写了正确的文件名。

其他回答

在macOS Big Sur 11.2.3版(20D91)上完全卸载Nodejs


介绍

首先,我想感谢你分享这个技巧@tonymtz。

我的系统运行的是macOS Big Sur 11.2.3版(20D91),nodejs最新当前版本:15.14.0(包括npm 7.7.6),从官方网站安装。

我尝试在MacBook Pro上完全卸载nodejs,以便使用自制软件包管理器重新安装它:

lsbom -f -l -s -pf /var/db/receipts/org.nodejs.pkg.bom | while read f; do  sudo rm /usr/local/${f}; done

但我面临着一个问题,就像@JohnAlvarez的回答中提到的@AhteshamShah:

启动第一个命令geting时:无法打开/var/db/reports/org.nodejs.pkg.bom:没有这样的文件或目录***无法打开/var/db/reports/org.nodejs.pkg-bom。–Ahtesham Shah Jun 20'19 5:09

我一头扎进了@JohelAlvarez链接的原始帖子,阅读了所有评论,我从@e2tha-e找到了这条评论:

@tonymtz在Yosemite 10.10.5上安装Node v4.0时,第一行需要lsbom-f-l-s-pf/var/db/receives/org.nodejs.node.pkg.bom |读取f时;执行sudo rm/usr/local/${f};完成与org.nodejs.pkg.bom不同的文件名否则,这就像一个魅力!

@e2tha-e是正确的,在macOS Big Sur 11.2.3版(20D91)上,从官方网站安装了nodejs最新版本:15.14.0(包括npm 7.7.6),文件名不是org.nodejs.pkg.bom,而是org.nodejs.node.pkg.bcom。

您可以在cd/var/db/receives/&&ls-la时检查此项。

Nodejs官网安装解决方案

使用首选终端,从系统中完全卸载Nodejs,如下所示:

选项1

lsbom-f-l-s-pf/var/db/receives/org.nodejs.node.pkg.bom |读取f时;执行sudo rm/usr/local/${f};完成sudo rm-rf/usr/local/lib/node/usr/local/lib-node_modules/var/db/receives/org.nodejs*

选项2

转到/var/db/recipations/并删除任何org.nodejs*

cd/var/db/receives/&&ls-lasudo rm-rf org.nodejs*

转到/usr/local/lib并删除任何节点和node_module

cd/usr/local/lib&&ls-lasudo rm-rf节点*

转到/usr/local/include并删除任何节点和node_modules目录

cd/usr/local/include&&ls-lasudo rm-rf节点*

检查$HOME目录中的任何“本地”或“lib”或“include”文件夹,并从中删除任何“node”或“node_modules”。

转到/usr/local/bin并删除任何节点可执行文件

cd/usr/local/bin&&ls-lasudo rm-rf/usr/local/bin/npmsudo rm-rf/usr/local/bin/node

您可能也需要这样做:

sudo rm-rf/usr/local/share/man/man1/node.1sudo rm-rf/usr/local/lib/dtrace/node.dsudo rm-rf~/.npm

之后,您可以检查系统中是否还有节点,或者查找系统中节点的所有出现。


Tips

搜索节点文件所在的位置,查找/-name“node”|sed-E's |/[^/]+$||'|sort-u在其他人运行共享代码之前,请检查您的目录,以确保您编写了正确的文件名。

https://stackabuse.com/how-to-uninstall-node-js-from-mac-osx/在MACOS中运行以下命令将节点从系统中完全删除

sudo rm -rf ~/.npm ~/.nvm ~/node_modules ~/.node-gyp ~/.npmrc ~/.node_repl_history
sudo rm -rf /usr/local/bin/npm /usr/local/bin/node-debug /usr/local/bin/node /usr/local/bin/node-gyp
sudo rm -rf /usr/local/share/man/man1/node* /usr/local/share/man/man1/npm*
sudo rm -rf /usr/local/include/node /usr/local/include/node_modules
sudo rm -rf /usr/local/lib/node /usr/local/lib/node_modules /usr/local/lib/dtrace/node.d
sudo rm -rf /opt/local/include/node /opt/local/bin/node /opt/local/lib/node
sudo rm -rf /usr/local/share/doc/node
sudo rm -rf /usr/local/share/systemtap/tapset/node.stp

brew uninstall node
brew doctor
brew cleanup --prune-prefix

之后,我建议使用以下命令使用nvm安装节点(请检查https://github.com/nvm-sh/nvm对于最新版本)卷曲-o-https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh|巴什

从…起https://github.com/nvm-sh/nvm


为什么是nvm?这是一个好问题,会有项目需要不同版本的节点,即a需要节点版本12,而B需要节点版本14。节点的此版本管理仅由nvm提供。

我总结了现有的答案,并确保Node.js与NPM一起被完全删除。

要复制到终端的行:

brew uninstall node;
which node;
sudo rm -rf /usr/local/bin/node;
sudo rm -rf /usr/local/lib/node_modules/npm/;
brew doctor;
brew cleanup --prune-prefix;

我在mac上卸载Node.js时遇到了一个问题。我有一些奇怪的行为,比如npm仍然存在,即使在不得不删除它之后。

这是因为我用macport完成了旧的安装。因此,您还必须使用以下端口卸载它:

sudo port uninstall nodejs

它可能安装了许多不同版本的Node.js,所以请将它们全部卸载(逐个卸载)。

我在一个有很多依赖Windows的角度项目上工作,运行的是Node 14.17.0。突然,我升级到Node最新版本16.4.2,并开始出现冲突。

我决定降级,而不是一直使用传统的对等dep。

从控制面板卸载的节点只需使用安装程序再次安装节点14

一切都好了。