即使在我安装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,然后在我的系统上从头安装整个程序。


当前回答

这为我修复了Homebrew用户在Mac OS X上修复npm。而且它不需要太多步骤。

如果你不在乎原因,就去解决问题。

为方便起见,以下是相关部分:

解决方案

此解决方案修复了尝试运行npm更新npm-g所导致的错误。完成后,您也不需要使用sudo在全球安装npm模块。

开始之前,请记下所有全球安装的npm包。这些说明将帮助您删除所有这些包。完成后,您需要重新安装它们。

运行以下命令以删除所有现有的全局npm模块,卸载node和npm,使用正确的默认值重新安装node,配置要安装的全局npm模块的位置,然后将npm作为自己的软件包安装。

rm -rf /usr/local/lib/node_modules
brew uninstall node
brew install node --without-npm
echo prefix=~/.npm-packages >> ~/.npmrc
curl -L https://www.npmjs.com/install.sh | sh

此时应正确安装节点和npm。最后一步是将~/.npm包/bin添加到PATH中,以便npm和全局npm包可用。为此,请在~/.bash_profile中添加以下行:

export PATH="$HOME/.npm-packages/bin:$PATH"

现在,您可以毫无问题地重新安装所需的任何全局npm包。

其他回答

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提供。

从/usr/local/lib中删除节点和/或节点模块ex代码:cd/usr/local/libsudo rm-rf节点sudo rm-rf节点模块从/usr/local/include中删除节点和/或节点模块从/usr/local/bin中删除节点、节点调试和节点gyp从主目录中删除.npmrc(这些是您的npm设置,如果您计划立即重新安装Node,请不要删除此设置)从主目录中删除.npm从主目录中删除.node gyp从主目录中删除.node_repl_history从/usr/local/share/man/man1删除节点*/从/usr/local/share/man/man1中删除npm*/从/usr/local/lib/dtrace中删除node.d/从/usr/local/opt/local/bin中删除节点/从/usr/local/opt/local/include中删除节点/从/usr/local/opt/local/lib中删除node_modules/从/usr/local/share/doc中删除节点/从/usr/local/share/systemtap/tapset中删除node.stp/

更新:2016年9月23日-Intel Mac 10.11.x及以上版本

如果您害怕运行这些命令。。。

感谢jguix的快速教程。

首先,创建一个中间文件:

lsbom -f -l -s -pf /var/db/receipts/org.nodejs.node.pkg.bom >> ~/filelist.txt

手动查看文件(位于您的家庭文件夹中)

 ~/filelist.txt

然后删除文件:

cat ~/filelist.txt | while read f; do sudo rm /usr/local/${f}; done

sudo rm -rf /usr/local/lib/node /usr/local/lib/node_modules /var/db/receipts/org.nodejs.*

Intel Mac 10.10.x及更低版本

谢谢Lenar Hoyt

Gist评论来源:gistcomment-1572198

原始礼品:TonyMtz/d75101d9bdf764c890ef

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

sudo rm -rf /usr/local/lib/node /usr/local/lib/node_modules /var/db/receipts/org.nodejs.*

原件:2014年7月7日

我知道这篇文章有点过时了,但我只是想分享一下在删除Node.js时在Terminal中对我有用的命令。

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

我总结了现有的答案,并确保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;

卸载NodeJS的步骤:

对于带有M1芯片的MacOSMonterey,请按照下面的链接从系统中完全卸载节点。我尝试了多种方法,但这一个终于奏效了。

从Mac M1 Monterey卸载NodeJS和NPM

此外,请在末尾执行以下命令以从bin文件夹中删除与节点相关的目录。

sudo rm -R node-sass
sudo rm -R npm
sudo rm -R npx

要验证节点是否已删除,请执行以下操作:

node --version

它应该说找不到命令。

安装NodeJS的步骤:

使用M1芯片在Mac上启用Rosseta终端。如何启用Rosseta终端

使用nvm(节点版本管理器)在计算机上安装NodeJS。为什么是nvm??因为您可以运行多个版本的NodeJS(您可以使用新的应用程序以及Legacy应用程序)。

如何使用nvm安装多个版本的NodeJS

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash

如果不存在,请创建.zshrc文件。

touch ~/.zshrc

使用nvm安装节点。

nvm install node # "node" is an alias for the latest version
nvm install 14.7.0 # or 16.3.0, 12.22.1, etc

要验证可用的NodeJS版本数:

nvm ls