如何完全卸载nodejs,然后重新安装(操作系统是Macos)

coding2live 2021-02-18 16:24:46 151

虽然我用brew和NVM重新安装了Node的v0.6.19版本,但是系统显示的node版本仍然是v0.6.1-pre。

版本信息如下:

node -v
v0.6.1-pre

使用nvm ls命令查看,得到如下信息:

nvm ls
v0.6.19
current:    v0.6.19

但当我重新启动bash时,再用nvm ls查看,得到如下的信息:

nvm ls
v0.6.19
current:    v0.6.1-pre
default -> 0.6.19 (-> v0.6.19)

所以,版本v0.6.1-pre是依旧存在的,我怎么能找到它?

为了解决这个问题,我做了如下尝试:

  1. 升级了brew,然后执行了brew install node命令。
  2. 把整个node文件夹删掉,把/usr/local/lib路径下的node_modules删掉。
  3. 卸载重装了npm。

一通操作之后,我的用户目录下多出了很多文件夹,而且Node版本仍然不是最新的,尽管NVM说它使用的是0.6.19。

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

以下答案仅供参考

找到问题了。
路径/Users/myusername/local下面有一个文件夹。
它包含了一个含有nodelibnode_modules的include文件夹。它本应该在/usr/local路径下面,我也不清楚它是怎么生成到这里的。。。。。。

把这些局部引用删除之后,问题就解决了!

也可以执行下面的命令来删除这些引用:

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和node_modules
  2. 进入/usr/local/include并删除所有node和node_modules文件夹
  3. 如果node是通过brew安装的,那么需要在终端上执行brew uninstall node
  4. 检查Home目录中是否有任何local或lib或include文件夹,并从其中删除所有node或node_modules
  5. 进入/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变量。需要手动还原。