关于javascript:如何完全卸载node.js并从头重新安装(mac os x)

How do I completely uninstall Node.js, and reinstall from beginning (Mac OS X)

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

我的节点版本是:

1
2
node -v
v0.6.1-pre

NVM这样说(在我第一次在一个bash终端中安装一个版本的节点之后):

1
2
3
nvm ls
v0.6.19
current:    v0.6.19

但当我重新启动bash时,我看到的是:

1
2
3
4
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安装节点"。我尝试删除my/usr/local/include中的"node"目录和my/usr/local/lib中的"node"和"node_modules"。我尝试卸载NPM并按照这些说明重新安装。

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

理想情况下,我想卸载nodejs、npm和nvm,然后在我的系统上重新安装整个系统。


显然,有一个/Users/myusername/local文件夹包含一个includenodeinclude,和nodenode_moduleslib。我不知道这是如何创建的,为什么不是在我的/usr/local文件夹中创建的。

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

编辑:

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

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

相当于(同上)

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

或者(和上面一样)分解…

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

  • 转到/usr/local/lib并删除任何节点和节点_模块
  • 转到/usr/local/include并删除任何节点和节点模块目录
  • 如果安装了BREW安装节点,则在终端中运行BREW卸载节点。
  • 检查您的主目录中是否有任何本地或lib或include文件夹,并从中删除任何节点或节点_模块。
  • 转到/usr/local/bin并删除任何节点可执行文件
  • 您可能还需要:

    1
    2
    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中的路径变量,必须手动恢复。

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


    对于BREW用户,OSX:

    移除:

    1
    2
    3
    4
    5
    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;

    安装:

    1
    2
    3
    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

    1
    2
    3
    4
    5
    6
    7
    8
    9
    > 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时在终端中为我工作的命令。

    1
    2
    3
    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
    如果你害怕运行这些命令…

    多亏了jguixthis quick tutorial

    首先,创建中间文件:

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

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

    1
     ~/filelist.txt

    然后删除文件:

    1
    2
    3
    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

    1
    2
    3
    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个命令:

  • sudo rm -rf /usr/local/lib/node_modules/npm/
  • brew uninstall node
  • brew doctor
  • brew prune
  • 如果仍有节点安装,请重复步骤2。一切正常后,我用brew install node安装


  • 第一:

    1
    2
    3
    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.*
  • 综上所述,完全卸载node+npm的最佳方法(我已经找到)是执行以下操作:

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

    1
    2
    3
    cd /usr/local/lib

    sudo rm -rf node*
  • 转到/usr/local/include并删除任何节点和节点模块目录

    1
    2
    3
    cd /usr/local/include

    sudo rm -rf node*
  • 如果安装了brew install node,则在终端中运行brew uninstall node

    1
    brew uninstall node
  • 检查您的主目录中是否有任何"本地"或"lib"或"include"文件夹,并从中删除任何"节点"或"节点_模块"。

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

    1
    2
    3
    4
    5
    cd /usr/local/bin

    sudo rm -rf /usr/local/bin/npm

    ls -las
  • 您可能还需要执行其他说明:

    1
    2
    3
    4
    5
    sudo rm -rf /usr/local/share/man/man1/node.1

    sudo rm -rf /usr/local/lib/dtrace/node.d

    sudo rm -rf ~/.npm
  • 来源:Tunyz


    将节点降级为0.10.36

    1
    2
    3
      sudo npm cache clean -f
      sudo npm install -g n
      sudo n 0.10.36

    将节点升级到稳定V

    1
    2
    3
      sudo npm cache clean -f
      sudo npm install -g n
      sudo n stable


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

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    ~/.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,因为我计划用自制软件重新安装节点。


    为我工作。

    1
    2
    3
    4
    5
    6
    7
    $node --version

    v11.1.0

    $nvm deactivate

    $nvm uninstall v11.1.0


    扩展DominicTancredi令人敬畏的答案,我已经将其转化为一个bash包和独立脚本。如果您已经在使用名为bpkg的"后台包管理器",则可以通过运行以下命令来安装脚本:

    1
    bpkg install -g brock/node-reinstall

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


    除了主要答案之外,我还需要删除在以下位置找到的所有NPM实例:

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


    我在Mac上卸载node.js时遇到了一个问题。我有一些奇怪的行为,比如说,即使在把它去掉之后,npm仍然是它们的行为。

    这是因为我用MacPort完成了一个旧的安装。因此,您还必须使用端口卸载它:

    1
    sudo port uninstall nodejs

    它可能安装了许多不同版本的node.js,因此请逐个卸载它们。


    也许你需要

    1
    hash -r

    它有助于解决symlink问题

    1
    2
    $ node -v
    $ bash: /opt/local/bin/node: No such file or directory

    您可以克隆https://github.com/brock/node-reinstall并运行存储库中提供的简单命令,然后重新启动系统。这是最简单的方法,也适用于我。


    我已经从从Git存储库下载的源代码安装了node.js。我安装了:

    1
    2
    3
    ./configure
    $ make
    $ sudo make install

    因为make文件支持它,所以我可以:

    1
    $ sudo make uninstall


    最好的方法是在Mac上下载安装程序包.pkg。最好是最新稳定的版本。

    链接如下:node.js

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


    1
    brew uninstall node

    我必须知道哪个节点

    1
    which node

    那就去掉那个

    1
    rm -rf /usr/local/bin/node

    这修复了我在Mac OS X上为自制用户修复NPM的问题。而且不需要太多的步骤。

    如果你不在乎原因,就去解决问题吧。

    为方便起见,以下是相关部分:

    解决方案

    此解决方案修复了试图运行npm update npm -g所导致的错误。完成后,您也不需要使用sudo在全球安装NPM模块。

    开始之前,请记下任何全局安装的NPM包。这些说明将要求您删除所有这些包。完成后,您需要重新安装它们。

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

    1
    2
    3
    4
    5
    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

    此时应正确安装节点和NPM。最后一步是将~/.npm-packages/bin添加到PATH中,以便NPM和全局NPM包可用。为此,请将以下行添加到您的~/.bash_profile中:

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

    现在,您可以重新安装所需的任何全局NPM包,而不会出现任何问题。


    • 从/usr/local/lib中删除节点和/或节点模块

      1
      2
      3
      4
            ex code:
            cd /usr/local/lib
            sudo rm -rf node
            sudo rm -rf node_modules
    • 从/usr/local/include中删除节点和/或节点模块

    • 从/usr/local/bin中删除node、node debug和node gyp
    • 从主目录中删除npmrc(这些是您的npm设置,如果您计划立即重新安装节点,请不要删除此设置)。
    • 从主目录中删除.npm
    • 从主目录中删除节点gyp
    • 从主目录中删除节点"复制历史记录"
    • 从/usr/local/share/man/man1中删除节点*。/
    • 从/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中删除节点模块/
    • 从/usr/local/share/doc中删除节点/
    • 从/usr/local/share/systemtap/tapset中删除node.stp/

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

    1
    nvm deactivate

    这是从$path中删除的/users/user_name/.nvm/*/bin

    在更新节点之后

    1
    2
    node --version
    v10.9.0


    如果找不到节点,只需运行whereis nodewhereis npmwhereis nvm,即可根据需要删除列出的目录。

    您还需要完全关闭终端并重新打开它以使更改生效。


    (服务器:Ubuntu 14)

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

    2.)NVM安装节点

    3)NPM-V(查询NPM版本=>3.8.6)

    4)节点-V(查询节点版本=>V6.0.0)