提问者:小点点

如何完全卸载node.js,然后重新安装(Mac OS X)


我的node版本始终是V0.6.1-pre-即使在我安装brew node和NVM安装V0.6.19之后也是如此。

我的节点版本是:

node -v
v0.6.1-pre

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

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更新BREW安装节点。我尝试删除/usr/local/include中的“node”目录以及/usr/local/lib中的“node”和“node_modules”。我已经尝试卸载npm,然后按照下面的说明重新安装它。

所有这些都是因为我试图更新旧版本的node以安装“ZipStream”库。现在在我的用户目录中有文件夹,节点版本仍然不是最新的,尽管NVM说它使用的是0.6.19。

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


共3个答案

匿名用户

显然,存在一个/users/myusername/local文件夹,其中包含一个带有节点include和带有节点node_moduleslib。我不知道它是如何创建的,为什么不是在我的/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,需要执行以下操作:

  1. 转到/usr/local/lib并删除任何节点和node_modules
  2. 转到/usr/local/include并删除任何节点和node_modules目录
  3. 如果使用brew安装节点安装,则在终端中运行brew卸载节点
  4. 检查主目录中是否有任何本地或lib或include文件夹,并从其中删除任何节点或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。我相信,node的最新版本附带了npm,但您也可以重新安装npm。

匿名用户

要删除:

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(node version manager)是一个可移植的解决方案,用于管理节点的多个版本

> 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时为我工作的命令。

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.*

感谢jguix提供的这篇快速教程。

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

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

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

 ~/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.*

谢谢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.*