如何完全卸载 Node.js,然后从头开始重新安装 (Mac OS X) 对于酿造用户,OSX:考虑使用 NVM 而不是 brew

2022-08-29 21:58:49

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

我的节点版本是:

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-pre版本在哪里,我该如何摆脱它呢?我正在尝试通过NPM安装库,以便我可以处理项目。

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

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

理想情况下,我想卸载nodejs,npm和nvm,然后从头开始在我的系统上重新安装整个东西。


答案 1

显然,有一个文件夹包含 with 和 with and 。我不知道如何以及为什么创建它而不是在我的文件夹中。/Users/myusername/localincludenodelibnodenode_modules/usr/local

删除这些本地引用修复了幻像 v0.6.1-pre。如果有人有解释,我会选择它作为正确答案。

编辑:

您可能还需要执行其他说明:

sudo rm -rf /usr/local/{lib/node{,/.npm,_modules},bin,share/man}/{npm*,node*,man1/node*}

这相当于(同上)...

sudo rm -rf /usr/local/bin/npm /usr/local/share/man/man1/node* /usr/local/lib/dtrace/node.d ~/.npm ~/.node-gyp 

或(同上)分解...

要完全卸载 node + npm,请执行以下操作:

  1. 转到 /usr/local/lib 并删除任何节点node_modules
  2. 转到 /usr/local/include 并删除任何节点node_modules目录
  3. 如果安装了 brew 安装节点,则在终端中运行 brew 卸载节点
  4. 检查您的主目录中是否有任何本地lib包含文件夹,并从那里删除任何节点node_modules
  5. 转到 /usr/local/bin 并删除任何节点可执行文件

您可能还需要执行以下操作:

sudo rm -rf /opt/local/bin/node /opt/local/include/node /opt/local/lib/node_modules
sudo rm -rf /usr/local/bin/npm /usr/local/share/man/man1/node.1 /usr/local/lib/dtrace/node.d

此外,NVM 还会修改 中的 PATH 变量,必须手动还原该变量。$HOME/.bashrc

然后下载 nvm 并按照说明安装节点。我相信,最新版本的node带有npm,但您也可以重新安装它。


答案 2

对于酿造用户,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结合使用,以便在具有不同节点依赖项的不同项目之间跳转时自动切换版本。