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

2020/09/17 15:31 · javascript ·  · 0评论

即使在安装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_modules”目录/usr/local/lib我已尝试按照以下说明卸载npm并重新安装

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

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

显然,存在一个/Users/myusername/local包含includewith nodelibwith node和and 文件夹node_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修改了中的PATH变量$HOME/.bashrc,该变量必须手动还原

然后下载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提供了此快速教程

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

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

  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 js 与NPM一起完全擦除

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

复制到终端的行:

brew uninstall node;
which node;
sudo rm -rf /usr/local/bin/node;
sudo rm -rf /usr/local/lib/node_modules/npm/;
brew doctor;
brew cleanup --prune-prefix;
  • 从/ 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

为我工作。

$node --version

v11.1.0

$nvm deactivate

$nvm uninstall v11.1.0

brew uninstall node

我必须知道哪个节点

which node

然后删除

rm -rf /usr/local/bin/node

https://stackabuse.com/how-to-uninstall-node-js-from-mac-osx/


运行以下命令以从MACOS中的系统中完全删除节点

sudo rm -rf ~/.npm ~/.nvm ~/node_modules ~/.node-gyp ~/.npmrc ~/.node_repl_history
sudo rm -rf /usr/local/bin/npm /usr/local/bin/node-debug /usr/local/bin/node /usr/local/bin/node-gyp
sudo rm -rf /usr/local/share/man/man1/node* /usr/local/share/man/man1/npm*
sudo rm -rf /usr/local/include/node /usr/local/include/node_modules
sudo rm -rf /usr/local/lib/node /usr/local/lib/node_modules /usr/local/lib/dtrace/node.d
sudo rm -rf /opt/local/include/node /opt/local/bin/node /opt/local/lib/node
sudo rm -rf /usr/local/share/doc/node
sudo rm -rf /usr/local/share/systemtap/tapset/node.stp

brew uninstall node
brew doctor
brew cleanup --prune-prefix

之后,我建议使用以下命令使用nvm安装节点

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh | bash

来自https://github.com/nvm-sh/nvm

如果您已经安装了nvm,请执行以下命令

  • nvm deactivate -这将从$ PATH中删除/.nvm/*/bin
  • nvm list -列出系统中安装的节点的所有版本
  • nvm uninstall <version> 您可以指定要卸载的所有版本。

nvm使用nvm
而不是
安装节点并使用卸载总是一件好事
brew

这个解决方案对我有用。

附加命令

  • which node了解系统中安装的节点的路径。您可以rm该目录来手动卸载节点。然后,您可能需要相应地调整PATH文件。

在扩展Dominic Tancredi的出色答案后,我将其分解为bash包和独立脚本。如果您已经在使用名为“ bpkg ”的“ Back Package Manager” ,则可以通过运行以下命令来安装脚本:

bpkg install -g brock/node-reinstall

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

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

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

在Mac上卸载Node.js时遇到问题。npm即使删除了所有这些内容,我仍然有一些奇怪的行为,例如仍然是他们的行为

这是因为我用macport完成了旧安装。因此,您还必须使用port卸载它:

sudo port uninstall nodejs

它可能安装了许多不同版本的Node.js,因此(一一卸载)它们。

也许你需要

hash -r 

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

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

您可以克隆https://github.com/brock/node-reinstall并运行存储库中给出的简单命令,然后重新启动系统。

这是最简单的方法,也对我有用。

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

这里是链接:Node.js

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

我已经从从git存储库下载的源安装了Node.js。我安装了:

./configure
$ make
$ sudo make install

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

$ sudo make uninstall

作为解释通过自制程序进行清理和安装的答案的补充,我发现自制程序本身提供了符号链接冲突的清晰指示。

不幸的是,它在遇到它们时一个接一个地提供了这些功能,因此有点费力,但是它似乎确实找到了所有冲突,并且这是我可以通过自制程序进行全新安装的唯一方法。

本质上,该过程是:

  1. 使用自制程序卸载节点
  2. 清洁自制
  3. 使用自制软件安装节点并注意所有标记的冲突文件
  4. 删除标志冲突文件(如果是“节点”目录,则删除整个目录)
  5. 转到第1步,直到完成全新安装

图解地

这是我安装最后一步的屏幕输出-您可以看到它导致全新安装(最终...):

computer1:DevResources user1$ brew install node
Updating Homebrew...
==> Downloading https://homebrew.bintray.com/bottles/node-13.1.0.mojave.bottle.tar.gz
Already downloaded: /Users/user1/Library/Caches/Homebrew/downloads/da904f1fdab6f6b2243a810b685e67b29a642c6e945f086e0022323a37fe85f9--node-13.1.0.mojave.bottle.tar.gz
==> Pouring node-13.1.0.mojave.bottle.tar.gz
Error: The `brew link` step did not complete successfully
The formula built, but is not symlinked into /usr/local
Could not symlink share/systemtap/tapset/node.stp
Target /usr/local/share/systemtap/tapset/node.stp
already exists. You may want to remove it:
  rm '/usr/local/share/systemtap/tapset/node.stp'

To force the link and overwrite all conflicting files:
  brew link --overwrite node

To list all files that would be deleted:
  brew link --overwrite --dry-run node

Possible conflicting files are:
/usr/local/share/systemtap/tapset/node.stp
/usr/local/lib/dtrace/node.d
==> Caveats
Bash completion has been installed to:
  /usr/local/etc/bash_completion.d
==> Summary
🍺  /usr/local/Cellar/node/13.1.0: 4,591 files, 54.2MB
computer1:DevResources user1$ rm '/usr/local/share/systemtap/tapset/node.stp'
computer1:DevResources user1$ brew uninstall node
Uninstalling /usr/local/Cellar/node/13.1.0... (4,591 files, 54.2MB)
computer1:DevResources user1$ brew cleanup
computer1:DevResources user1$ brew install node
Updating Homebrew...
==> Downloading https://homebrew.bintray.com/bottles/node-13.1.0.mojave.bottle.tar.gz
Already downloaded: /Users/user1/Library/Caches/Homebrew/downloads/da904f1fdab6f6b2243a810b685e67b29a642c6e945f086e0022323a37fe85f9--node-13.1.0.mojave.bottle.tar.gz
==> Pouring node-13.1.0.mojave.bottle.tar.gz
Error: The `brew link` step did not complete successfully
The formula built, but is not symlinked into /usr/local
Could not symlink lib/dtrace/node.d
Target /usr/local/lib/dtrace/node.d
already exists. You may want to remove it:
  rm '/usr/local/lib/dtrace/node.d'

To force the link and overwrite all conflicting files:
  brew link --overwrite node

To list all files that would be deleted:
  brew link --overwrite --dry-run node

Possible conflicting files are:
/usr/local/lib/dtrace/node.d
==> Caveats
Bash completion has been installed to:
  /usr/local/etc/bash_completion.d
==> Summary
🍺  /usr/local/Cellar/node/13.1.0: 4,591 files, 54.2MB
computer1:DevResources user1$ rm '/usr/local/lib/dtrace/node.d'
computer1:DevResources user1$ 
computer1:DevResources user1$ brew uninstall node
Uninstalling /usr/local/Cellar/node/13.1.0... (4,591 files, 54.2MB)
computer1:DevResources user1$ brew cleanup
computer1:DevResources user1$ brew install node
Updating Homebrew...
==> Downloading https://homebrew.bintray.com/bottles/node-13.1.0.mojave.bottle.tar.gz
Already downloaded: /Users/user1/Library/Caches/Homebrew/downloads/da904f1fdab6f6b2243a810b685e67b29a642c6e945f086e0022323a37fe85f9--node-13.1.0.mojave.bottle.tar.gz
==> Pouring node-13.1.0.mojave.bottle.tar.gz
==> Caveats
Bash completion has been installed to:
  /usr/local/etc/bash_completion.d
==> Summary
🍺  /usr/local/Cellar/node/13.1.0: 4,591 files, 54.2MB
computer1:DevResources user1$ node -v
v13.1.0

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

nvm deactivate

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

在该节点更新后

node --version
v10.9.0

这为我修复了此问题。在Mac OS X上为Homebrew用户修复了npm而且它不需要太多步骤。

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

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

此解决方案修复了由于尝试运行而导致的错误npm update npm -g完成后,您也无需使用sudo全局安装npm模块。

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

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

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到您的PATHnpm和全局npm包中。为此,请将以下行添加到您的~/.bash_profile

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

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

就我而言,其他答案均无效,因为我之前已降级为node8。因此,以下不是我做的,而是为我工作的:

which node

返回/usr/local/bin/node@8而不是/usr/local/bin/node

所以我执行了以下命令:

brew uninstall node@8

它可以正常工作,然后从官方站点下载最新的pkg并安装。之后,我必须关闭终端,然后再次开始以访问新版本

如果您无法找到节点,请运行whereis nodewhereis npm然后whereis nvm根据需要删除列出的目录。

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

Docker-替代方法

Docker是一种超高速虚拟机,可用于运行诸如node之类的工具(而不是直接在mac-os上安装它们)。这样做的优点如下

  • 所有东西(“ milions”节点文件)都安装在docker image / container内部(它们封装在几个内部docker文件中)

  • 您可以将包含项目的mac目录映射到docker容器并可以访问节点-但在docker之外,mac-os系统甚至不知道已安装该节点。因此,您将获得一种带有可用节点命令的“虚拟”控制台,该命令可以在真实文件上运行

  • 您可以通过找到它docker ps并杀死它来轻松杀死节点docker rm -f name_or_num

  • 您可以通过一个命令轻松卸载docker镜像/容器docker rmi ...并获得可用空间-然后通过运行脚本再次安装它(如下)

  • 您的节点封装在docker内部,无权访问整个系统-仅访问您映射到它的文件夹

  • 您可以运行节点服务并将其端口轻松映射到mac端口,并可以从Web浏览器访问它

  • 您可以同时运行多个节点版本

  • 以类似的方式,您可以安装其他工具,例如(在多个版本中同时使用):php,数据库,redis等。-在docker内部,无需与mac-os进行任何交互(根本不会注意到此类软件)。例如,您可以同时运行3个具有不同版本的mysql数据库和3个具有不同php版本的php应用程序...-因此您可以拥有许多工具,但系统干净

  • 团队合作:可以轻松地将这样的环境克隆到其他机器(甚至到Windows / linux系统-进行一些修改),并提供相同的docker级环境-因此您可以轻松地设置和重用脚本/ dockerfile,并为新团队成员以非常快的方式(他只需要安装docker并创建类似的文件夹结构并获取脚本副本-多数民众赞成)。我以这种方式与我的团队一起工作了2年-我们非常高兴

指令

  • 使用例如以下说明安装docker

  • 准备工作的“特殊”目录,例如我的目录是/Users/kamil/work(我将进一步使用此目录-但它可以是任意目录)-该目录将是docker容器和mac文件ststem之间的“接口”。在此目录中创建以下目录结构:

    /Users/kamil/work/code -在这里,您将代码放入项目中

    /Users/kamil/work/tools

    /Users/kamil/work/tools/docker-data -在这里,我们映射容器输出的数据,例如日志(如果有人驱逐db等,则映射数据库文件)。

    /Users/kamil/work/tools/docker

    /Users/kamil/work/tools/docker/node-cmd -在这里我们放置了Docker节点脚本

  • 在内部tools创建文件中.env,该文件将在一处包含其他脚本中使用的全局路径

  • 内部目录../node-cmd创建dockerfile具有以下内容的文件

  • innside dir ../node-cmd创建run-container具有以下内容的文件(此文件应可执行,例如通过chmod +x run-container)-(注意我们如何将端口-和目录从外部“世界”映射到内部docker文件系统)

  • 好的,现在您可以添加一些项目,例如,work/code/myProject并在文件“ run-cmd”之后添加到该项目(必须是可执行文件)

  • 然后,如果您在脚本之上运行(双击),您将在项目目录中看到带有可用节点命令的控制台,例如 npm install

  • 在后台运行项目(例如,一些服务),例如运行网络服务器angular-cli应用程序,您可以使用以下脚本(命名为run-front-必须是可执行文件)-(您还必须编辑/etc/hosts文件以添加适当的域)

@ lfender6445 答案对我来说很好卸载

现在要重新安装,我在安装最新版本而不是最稳定版本时遇到了问题,因此要安装特定的节点版本,您应该执行以下操作:

brew install node@10 // 10 is the version I want
brew link node@10

(服务器:ubuntu 14)

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

2.)nvm安装节点

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

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

本文地址:http://javascript.askforanswer.com/ruhewanquanxiezainode-jsranhoucongtoukaishizhongxinanzhuangmac-os-x.html
文章标签: ,   ,  
版权声明:本文为原创文章,版权归 javascript 所有,欢迎分享本文,转载请保留出处!

文件下载

老薛主机终身7折优惠码boke112

上一篇:
下一篇:

评论已关闭!