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


当前回答

为我工作。

$node --version

v11.1.0

$nvm deactivate

$nvm uninstall v11.1.0

其他回答

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

除了主要答案之外,我还需要删除以下位置中的所有npm实例:

rm -rf /usr/local/share/man/man1/npm*

对于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自动切换版本。

(服务器:ubuntu 14)

1.)安装nvm(节点版本管理器)https://github.com/creationix/nvm

2.)nvm安装节点

3.)npm-v(查询npm版本=>3.8.6)

4.)节点-v(查询节点版本=>v6.0.0)

我也有同样的问题(运行Fedora 34)。

这是由于使用n:https://www.npmjs.com/package/n

n帮助您管理不同版本的节点,但它有自己的方法,这不是通过OS包管理器!

这就是为什么有这些未删除的文件夹,其中包含节点。

这对我有用:

重新安装node和npm。重新安装n(sudo npm i-g n)sudo n prune(删除缓存的所有版本)sudo n卸载(删除活动版本)现在只安装了预期版本的节点(步骤1中安装的版本)