首页 文章

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

提问于
浏览
946

在我安装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" . 我've tried deleting the 85370 directory in my /usr/local/include and the 85371 and 85372 in my 85373 . I'已尝试卸载npm并按照these说明重新安装它 .

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

Ideally, I'd like to uninstall nodejs, npm, and nvm, and just reinstall the entire thing from scratch on my system.

18 回答

  • 341

    最好的方法是在mac上下载安装程序包:.pkg . 喜欢最新的稳定版本 .

    这是链接:Node.js

    此包最终将覆盖以前的版本并相应地设置环境变量 . 只需点击几下即可运行安装程序并完成安装 .

  • 173

    也许你需要做

    hash -r
    

    它有助于解决符号链接问题

    $ node -v
    $ bash: /opt/local/bin/node: No such file or directory
    
  • 6

    我在Mac上卸载Node.js时遇到了一个问题 . 我有一些奇怪的行为,如 npm 仍然是他们甚至已经删除它所有这一切 .

    这是因为我用macport完成了旧的安装 . 所以你还必须使用port卸载它:

    sudo port uninstall nodejs
    

    它可能安装了许多不同版本的Node.js,因此请将它们全部卸载(逐个) .

  • 18

    在小牛队我从节点pkg(从nodejs站点)安装它,我卸载它,所以我可以使用brew重新安装 . 我只在终端上运行4个命令:

    • sudo rm -rf /usr/local/lib/node_modules/npm/

    • brew uninstall node

    • brew doctor

    • brew prune

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

  • 6
    • 第一:
    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.*
    
    • 回顾一下,完全卸载节点npm的最好方法(我发现)是执行以下操作:

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

    cd /usr/local/lib
    
    sudo rm -rf node*
    
    • 转到 /usr/local/include 并删除任何节点和node_modules目录
    cd /usr/local/include
    
    sudo rm -rf node*
    
    • 如果使用 brew install node 安装,则在终端中运行 brew uninstall node
    brew uninstall node
    
    • 检查您的主目录中是否有“本地”或“lib”或“包含”文件夹,并从那里删除任何“node”或“node_modules”

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

    cd /usr/local/bin
    
    sudo rm -rf /usr/local/bin/npm
    
    ls -las
    
    • 您可能还需要执行其他说明:
    sudo rm -rf /usr/local/share/man/man1/node.1
    
    sudo rm -rf /usr/local/lib/dtrace/node.d
    
    sudo rm -rf ~/.npm
    

    资料来源:tonyMtz

  • 30

    对于brew用户,OSX:

    去除:

    brew uninstall node; 
    # or `brew uninstall --force node` which removes all versions
    brew prune;
    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
    
  • 2

    我不确定是不是因为我有一个旧版本(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 .

  • 20

    我从git存储库下载的源代码安装了Node.js.我安装了:

    ./configure
    $ make
    $ sudo make install
    

    因为make文件支持它,我可以这样做:

    $ sudo make uninstall
    
  • 95

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

    更新:2016年9月23日


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

    感谢jguix for this quick tutorial .

    First, create an intermediate file:

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

    Manually review your file (located in your Home folder)

    ~/filelist.txt
    

    Then delete the files:

    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及以上

    Thanks Lenar Hoyt

    Gist Comment Source: gistcomment-1572198

    Original Gist: 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.*
    
  • 4

    $ node --version

    v11.1.0

    $ nvm停用

    $ nvm uninstall v11.1.0

    为我工作

  • 2

    扩展Dominic Tancredi's awesome answer,我已将其转换为bash包和独立脚本 . 如果您已经在使用名为bpkg的"Back Package Manager",则可以通过运行以下命令来安装脚本:

    bpkg install -g brock/node-reinstall
    

    或者您可以在brock/node-reinstall查看Github上的脚本 . 该脚本允许您使用nvm或nave重新安装节点,并将节点版本指定为默认值 .

  • 1

    (服务器:ubuntu 14)

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

    2.)nvm安装节点

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

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

  • 4

    首先,您需要在安装新节点版本后停用node:(mac) .

    nvm deactivate
    

    这从$ PATH中删除/Users/user_name/.nvm/*/bin

    并在该节点更新后

    node --version
    v10.9.0
    
  • 6

    将节点降级到0.10.36

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

    将节点升级到稳定的

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

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

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

    显然,有一个 /Users/myusername/local 文件夹包含 includenodelibnodenode_modules . 我不知道如何以及为什么创建这个而不是在我的 /usr/local 文件夹中 .

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

    EDIT:

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

    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
    

    或(如上所述)细分......

    要完全卸载节点npm,请执行以下操作:

    • 转到 /usr/local/lib 并删除任何 nodenode_modules

    • 转到 /usr/local/include 并删除任何 nodenode_modules 目录

    • 如果您使用 brew install node 安装,则在终端中运行 brew uninstall node

    • 检查您的主目录中是否有 locallibinclude 文件夹,并从那里删除任何 nodenode_modules

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

    您可能还需要这样做:

    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变量,该变量必须为reverted manually .

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

  • 1

    您可以克隆https://github.com/brock/node-reinstall并运行存储库中给出的简单命令 . 之后只需重新启动系统即可 .
    这是最简单的方法,对我也有用 .

  • 4

    这为我修复了Fixing npm On Mac OS X for Homebrew Users . 而且它不需要太多步骤 .

    如果您不关心原因,请转到解决方案部分 .

    以下是方便的相关部分:

    解决方案

    此解决方案修复了尝试运行 npm update npm -g 导致的错误 . 一旦你're finished, you also won'需要使用 sudo 来全局安装npm模块 .

    在开始之前,请记下所有全局安装的npm软件包 . 这些说明将删除所有这些包 . 完成后,您需要重新安装它们 .

    运行以下命令以删除所有现有的全局npm模块,卸载node&npm,使用正确的默认值重新安装节点,配置要安装的全局npm模块的位置,然后将npm安装为自己的pacakge .

    rm -rf /usr/local/lib/node_modules
    brew uninstall node
    brew install node --without-npm
    echo prefix=~/.npm-packages >> ~/.npmrc
    curl -L https://www.npmjs.com/install.sh | sh
    

    此时应正确安装Node和npm . 最后一步是将 ~/.npm-packages/bin 添加到 PATH 所以npm和全局npm包可用 . 为此,请将以下行添加到 ~/.bash_profile

    export PATH="$HOME/.npm-packages/bin:$PATH"
    

    现在,您可以毫无问题地重新安装所需的任何全局npm软件包 .

相关问题