协慌网

登录 贡献 社区

如何完全卸载 Node.js,并从头开始重新安装(Mac OS X)

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

我尝试使用 BREW 在 NVM 之前更新,使用 “brew update” 和 “brew install node”。我已经尝试删除 / usr / local / include 中的 “node” 目录以及 “/ usr / local / lib” 中的 “node” 和 “node_modules”。我已经尝试卸载 npm 并按照这些说明重新安装它。

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

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

答案

显然,有一个/Users/myusername/local文件夹,其中includenodeinclude和带有nodenode_modules lib 。我不知道如何以及为什么创建它而不是在我的/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 uninstall 节点
  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 修改$HOME/.bashrc的 PATH 变量,必须手动恢复

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

对于酿酒用户,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/creationix/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

我知道这篇文章有点过时但只是想在删除 Node.js 时分享在终端中为我工作的命令。

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.*

更新: 23 SEP 2016


如果你害怕运行这些命令......

感谢jguix this quick tutorial

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

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

手动检查您的文件(位于您的Home文件夹中)

~/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.*

适用于 10.10.5 及以上

谢谢Lenar Hoyt

要点评论来源: 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.*