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

我的节点版本始终是 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 之前进行更新,使用 “brew update” 和 “brew install node”。我尝试删除 / usr / local / include 中的 “节点” 目录以及 “/ usr / local / lib” 中的 “节点” 和 “node_modules”。我已尝试按照以下说明卸载 npm 并重新安装。

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

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

答案

显然,存在一个/Users/myusername/local文件夹,其中包含一个include nodelib以及nodenode_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并删除任何nodenode_modules目录
  3. 如果你安装了冲泡安装节点 ,然后在你的终端上运行的 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 修改$HOME/.bashrc的 PATH 变量,该变量必须手动还原

然后下载nvm并按照说明安装节点。我相信 node 的最新版本是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一起使用,以在具有不同节点依赖关系的不同项目之间跳转时自动切换版本。

我知道这篇文章有些过时,但是只是想分享删除 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.*

更新: 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.*

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

  1. sudo rm -rf /usr/local/lib/node_modules/npm/
  2. brew uninstall node
  3. brew doctor
  4. brew cleanup --prune-prefix

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

  1. 第一:

    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.*
  2. 回顾一下,完全卸载 node + npm 的最佳方法(我发现)是执行以下操作:

    转到/usr/local/lib并删除任何节点和 node_modules

    cd /usr/local/lib
    
    sudo rm -rf node*
  3. 转到/usr/local/include并删除任何 node 和 node_modules 目录

    cd /usr/local/include
    
    sudo rm -rf node*
  4. 如果你安装了brew install node ,然后运行brew uninstall node在终端

    brew uninstall node
  5. 检查您的主目录中是否有 “本地” 或 “lib” 或 “包含” 文件夹,并从中删除任何 “节点” 或“node_modules”

    转到 / usr / local / bin 并删除任何节点可执行文件

    cd /usr/local/bin
    
    sudo rm -rf /usr/local/bin/npm
    
    ls -las
  6. 您可能还需要执行其他说明:

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

资料来源: tonyMtz

将节点降级到 0.10.36

sudo npm cache clean -f
  sudo npm install -g n
  sudo n 0.10.36

将节点升级到稳定 v

sudo npm cache clean -f
  sudo npm install -g n
  sudo n stable

我不确定这是因为我有一个旧版本(4.4.5),还是因为我使用了官方安装程序,但是其他答案中引用的大多数文件在我的系统上不存在。我只需要删除以下内容:

~/.node-gyp
~/.node_repl_history
/usr/local/bin/node
/usr/local/bin/npm
/usr/local/include/node
/usr/local/lib/dtrace/node.d
/usr/local/lib/node_modules
/usr/local/share/doc/node
/usr/local/share/man/man1/node.1
/usr/local/share/systemtap/tapset/node.stp

我决定保留~/.npm因为我打算使用 Homebrew 重新安装 Node。

为我工作。

$node --version

v11.1.0

$nvm deactivate

$nvm uninstall v11.1.0
  • 从 / usr / local / lib 删除 node 和 / 或 node_modules

    ex code:
          cd /usr/local/lib
          sudo rm -rf node
          sudo rm -rf node_modules
  • 从 / usr / local / include 删除 node 和 / 或 node_modules

  • 从 / usr / local / bin 删除 node,node-debug 和 node-gyp
  • 从主目录中删除. npmrc(这些是您的 npm 设置,如果您打算立即重新安装 Node,请不要删除此设置)
  • 从主目录中删除. npm
  • 从您的主目录中删除. node-gyp
  • 从主目录中删除. node_repl_history
  • 从 / usr / local / share / man / man1 / 删除 node *
  • 从 / 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

brew uninstall node

我必须知道哪个节点

which node

然后删除

rm -rf /usr/local/bin/node