如何完全卸载 Node.js,然后从头重新安装 (Mac OS X)
即使在安装 brew node 和 NVM install 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 安装库,以便我可以处理一个项目。
我尝试在 NVM 之前使用 BREW 进行更新,使用brew update
和brew install node
. 我试过删除我的“节点”目录/usr/local/include
和我的/usr/local/lib
. 我已经尝试按照这些说明卸载 npm 并重新安装它。
所有这一切都是因为我试图更新旧版本的节点以安装“zipstream”库。现在我的用户目录中有文件夹,节点版本仍然不是最新的,即使 NVM 说它使用的是 0.6.19。
理想情况下,我想卸载 nodejs、npm 和 nvm,然后在我的系统上从头开始重新安装整个东西。
对于任何使用 的人
n
,当您更改节点版本时,它会自动重新安装 npm。您可以npm upgrade
通过运行以下命令来恢复损坏:n
(选择不同的节点版本,npm 将重新安装)n
(这一次,选择您喜欢的版本)npm -v
(它将是旧版本的 NPM)npm install -g npm@7.x.x
(插入适当的版本)这为我修复了Fixing npm On Mac OS X for Homebrew Users。而且它不需要太多的步骤。
如果您不关心原因,请转到解决方案部分。
为了方便起见,这里是相关部分:
解决方案
此解决方案修复了尝试运行
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
到你的PATH
so npm 和全局 npm 包是可用的。为此,请将以下行添加到您的~/.bash_profile
:export PATH="$HOME/.npm-packages/bin:$PATH"
现在,您可以毫无问题地重新安装所需的任何全局 npm 包。
如果您无法找到节点,只需运行
whereis node
andwhereis npm
并且whereis nvm
您可以根据需要删除列出的目录。您还需要完全关闭终端并重新打开它以使更改生效。
就我而言,其他答案均无效,因为我之前已降级到 node8。因此,与其上面那样做,不如以下对我有用:
返回
/usr/local/bin/node@8
而不是/usr/local/bin/node
所以我执行了这个命令:
brew uninstall node@8
这有效,然后从官方网站下载最新的 pkg 并安装。之后我不得不关闭我的终端并重新开始访问新版本
首先,您需要在安装新节点版本后停用节点:(mac)。
这是从 $PATH 中删除的 /Users/user_name/.nvm/*/bin
在该节点更新后
node --version v10.9.0
我从 git 存储库下载的源代码安装了 Node.js。我安装了:
因为 make 文件支持它,所以我可以这样做:
您可以克隆https://github.com/brock/node-reinstall并运行存储库中给出的简单命令。之后只需重新启动系统即可。
这是最简单的方法,也对我有用。
在我的 Mac 上卸载 Node.js 时,我遇到了一个问题。我有一些奇怪的行为
npm
,即使在不得不将其全部删除之后仍然存在。这是因为我用 macport 完成了旧安装。所以你还必须使用端口卸载它:
它可能已经安装了许多不同版本的 Node.js,所以将它们全部卸载(一个一个地)。
最好的方法是下载安装程序包:mac 上的 .pkg。最好是最新的稳定版。
这是链接:Node.js
这个包最终会覆盖以前的版本并相应地设置环境变量。只需运行安装程序,点击几下即可完成。
也许你需要做
它有助于解决符号链接问题
$ node -v $ bash: /opt/local/bin/node: No such file or directory
除了主要答案之外,我还需要删除在以下位置找到的所有 npm 实例:
为我工作。
$node --version v11.1.0 $nvm deactivate $nvm uninstall v11.1.0
如果你已经安装了nvm然后执行以下命令
nvm deactivate
- 这将从 $PATH 中删除 /.nvm/*/binnvm list
- 列出系统中安装的所有节点版本nvm uninstall <version>
在您可以指定要卸载的所有版本。使用而不是使用安装节点
nvm
和卸载节点总是一件好事。nvm
brew
这个解决方案对我有用。
附加命令
which node
了解系统中安装的节点路径。您可以 rm 此目录以手动卸载节点。那么您可能需要相应地调整 PATH 文件。后
我必须知道哪个节点
然后删除它
从 /usr/local/lib 中删除节点和/或 node_modules
ex code: cd /usr/local/lib sudo rm -rf node sudo rm -rf node_modules
从 /usr/local/include 中删除节点和/或 node_modules
从 /usr/local/bin 中删除节点、节点调试和节点 gyp
从您的主目录中删除 .npmrc(这些是您的 npm 设置,如果您打算立即重新安装 Node,请不要删除它)
从您的主目录中删除 .npm
从您的主目录中删除 .node-gyp
从您的主目录中删除 .node_repl_history
从 /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/ 删除 node_modules
从 /usr/local/share/doc/ 删除节点
从 /usr/local/share/systemtap/tapset/ 删除 node.stp
卸载 NodeJS 的步骤:
对于带有 M1 芯片的 MacOS Monterey,请按照以下链接从系统中完全卸载节点。我尝试了多种方法,但这个方法终于奏效了。
从 Mac M1 Monterey 卸载 NodeJS & NPM
此外,请在最后执行以下命令以从 bin 文件夹中删除节点相关目录。
要验证节点是否已删除:
它应该说找不到命令。
安装 NodeJS 的步骤:
在装有 M1 芯片的 Mac 上启用 Rosseta 终端。 如何启用 Rosseta 终端
使用 nvm(节点版本管理器)在您的机器上安装 NodeJS。为什么是 nvm?因为您可以运行多个版本的 NodeJS(您可以使用新应用程序以及旧版应用程序)。
如何使用 nvm 安装多个版本的 NodeJS
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
如果不存在,则创建一个 .zshrc 文件。
touch ~/.zshrc
使用 nvm 安装节点。
nvm install node # "node" is an alias for the latest version nvm install 14.7.0 # or 16.3.0, 12.22.1, etc
要验证可用的 NodeJS 版本数:
将节点降级到 0.10.36
sudo npm cache clean -f sudo npm install -g n sudo n 0.10.36
升级节点到稳定v
在 macOS Monterey 版本 12.0.1 上完全卸载 Node.js
要检查系统上安装的当前节点版本:
# node -v # v14.15.0
输入以下命令从系统中删除节点:
检查该节点不再存在
# node -v # -bash: node: command not found
在 macOS Monterey 版本 12.0.1 上安装 Node.js
双击node-v16.13.1.pkg安装包,继续默认设置
在您的终端中输入
node -v
以打印当前安装的节点版本:v16.13.1
&npm -v
以打印您机器上安装的当前 npm 版本:8.1.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。第一的:
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
并删除任何节点和 node_modules转到
/usr/local/include
并删除任何节点和 node_modules 目录如果你安装了
brew install node
,然后brew uninstall node
在你的终端运行检查您的主目录中是否有任何“local”或“lib”或“include”文件夹,并从那里删除任何“node”或“node_modules”
转到 /usr/local/bin 并删除任何节点可执行文件
您可能还需要执行其他说明:
sudo rm -rf /usr/local/share/man/man1/node.1 sudo rm -rf /usr/local/lib/dtrace/node.d sudo rm -rf ~/.npm
资料来源:tonyMtz
我知道这篇文章有点过时,但只是想分享在删除 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提供这个快速教程。
首先,创建一个中间文件:
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.*
我总结了现有的答案并确保 Node.js与 NPM 一起被完全删除。
要复制到终端的行:
在 Mavericks 上,我从节点 pkg(来自 nodejs 站点)安装它,然后卸载它,这样我就可以使用 brew 重新安装。我只在终端中运行 4 个命令:
sudo rm -rf /usr/local/lib/node_modules/npm/
brew uninstall node
brew doctor
brew cleanup --prune-prefix
如果还有node安装,重复步骤2,一切ok后,我安装using
brew install 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 安装节点(查看https://github.com/nvm-sh/nvm获取最新版本)
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash
来自https://github.com/nvm-sh/nvm
为什么是 nvm?
这是一个很好的问题,会有项目需要不同版本的节点,
即A需要节点版本12,而B需要节点版本14。节点的版本管理仅由nvm提供。
显然,有一个
/Users/myusername/local
包含include
withnode
和lib
withnode
的文件夹node_modules
。/usr/local
我不知道这是如何以及为什么创建的而不是在我的文件夹中。删除这些本地引用修复了 phantom 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 就是执行以下操作:
您可能还需要执行以下操作:
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。我相信,最新版本的 node 带有npm,但您也可以重新安装它。
你的回答