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


当前回答

对于brew用户,OSX:

要删除:

brew uninstall node; 
# or `brew uninstall --force node` which removes all versions
brew cleanup;
rm -f /usr/local/bin/npm /usr/local/lib/dtrace/node.d;
rm -rf ~/.npm;

要安装:

brew install node;
which node # => /usr/local/bin/node
export NODE_PATH='/usr/local/lib/node_modules' # <--- add this ~/.bashrc

您可以运行brew info node以获取有关节点安装的更多详细信息。


考虑使用NVM而不是brew

NVM(节点版本管理器)是用于管理多个版本的节点的便携式解决方案

https://github.com/nvm-sh/nvm

> nvm uninstall v4.1.0
> nvm install v8.1.2
> nvm use v8.1.2
> nvm list
         v4.2.0
         v5.8.0
        v6.11.0
->       v8.1.2
         system

当您在具有不同节点依赖关系的不同项目之间切换时,可以使用AVN自动切换版本。

其他回答

在Mavericks上,我从节点pkg(从nodejs站点)安装它,然后卸载它,以便可以使用brew重新安装。我在终端中只运行4个命令:

sudo rm-rf/usr/local/lib/node_modules/npm/brew卸载节点冲泡医生brew cleanup—修剪前缀

如果仍有节点安装,请重复步骤2。一切正常后,我使用brew安装节点进行安装

对于brew用户,OSX:

要删除:

brew uninstall node; 
# or `brew uninstall --force node` which removes all versions
brew cleanup;
rm -f /usr/local/bin/npm /usr/local/lib/dtrace/node.d;
rm -rf ~/.npm;

要安装:

brew install node;
which node # => /usr/local/bin/node
export NODE_PATH='/usr/local/lib/node_modules' # <--- add this ~/.bashrc

您可以运行brew info node以获取有关节点安装的更多详细信息。


考虑使用NVM而不是brew

NVM(节点版本管理器)是用于管理多个版本的节点的便携式解决方案

https://github.com/nvm-sh/nvm

> nvm uninstall v4.1.0
> nvm install v8.1.2
> nvm use v8.1.2
> nvm list
         v4.2.0
         v5.8.0
        v6.11.0
->       v8.1.2
         system

当您在具有不同节点依赖关系的不同项目之间切换时,可以使用AVN自动切换版本。

卸载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

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

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

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

一切都好了。

在我的情况下,其他答案都不起作用,因为我之前降级到了node8。因此,以下内容对我有效,而不是上述内容:

which node

返回/usr/local/bin/node@8而不是/usr/local/bin/node

所以我执行了这个命令:

brew uninstall node@8

它工作了,然后从官方网站下载了最新的软件包并安装了。之后,我不得不关闭终端,重新开始访问新版本