MacOS X 10.10卸载Node

本文介绍了在MacOS X 10.10上由于版本混乱导致的问题,以及如何卸载Node.js和npm。提到了nvm和n的版本管理机制,并提供了详细步骤,包括nvm与Homebrew安装导致的冲突解决和卸载Node的命令。

MacOS X 10.10卸载Node

一、起因

最近好像把node给弄坏了,在使用npm init的时候系统报错:

Press ^C at any time to quit.
npm ERR! Darwin 14.5.0
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "init"
npm ERR! node v4.4.1
npm ERR! npm  v2.14.20
npm ERR! code MODULE_NOT_FOUND

npm ERR! Cannot find module 'spdx'
npm ERR!
npm ERR! If you need help, you may report this error at:
npm ERR!     <https://github.com/npm/npm/issues>

根据报错内容搜索了一下,好像是推荐重装呀。。。。所以思考了一下为什么会坏:

  1. 原本通过官方的pkg文件安装的v0.12.x版本,node默认在/usr/local/bin下,WebStorm可以直接识别位置

  2. 想同时保存v0.12.x版本和安装v4.x.x版本,所以使用了nvm切换了node版本,后来发现nvm的安装方式不纯洁,即并没有安装在/usr/local/bin下导致强迫症发作,一定要装个纯洁版本,找到了n这个工具~

  3. 在不懂nvm和n的原理的情况下,不知道怎么搞的就切换错了。。。

  4. 没办法,从官方下载4.4.1的pkg安装包版本重新安装,勉强能够供WebStorm使用,所以就这么用着了,知道今天发现了上述错误

所以原因是——版本紊乱了。。。。我准备将node完全卸载后重装

二、nvm与n的机制

请参考这几篇文章:

第一篇是nvm与n的区别,第二篇具体给出了nvm切换版本的例子。总的来说:

nvm

  • nvm切换版本后执行node命令时,真正的路径是~/.nvm/<version>/node
  • 我所说的不纯洁的方式,就是指上面那个意思啦,强迫症伤不起

n

  • node的路径一直在/usr/local/bin

三、其实还有一个原因

使用Homebrew安装nvm,并且在zsh的环境下安装的同学,可能会产生冲突,导致nvm的$NVM_DIR指向了/usr/local/opt/nvm,详见:

四、卸载node和npm

使用以下命令,参考自[Uninstall nodejs from OSX Yosemite(可能需要翻墙)][4]

# first:
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.*

# To recap, the best way (I've found) to completely uninstall node + npm is to do the following:

# go to /usr/local/lib and delete any node and node_modules
cd /usr/local/lib
sudo rm -rf node*

# go to /usr/local/include and delete any node and node_modules directory
cd /usr/local/include
sudo rm -rf node*

# if you installed with brew install node, then run brew uninstall node in your terminal
brew uninstall node

# check your Home directory for any "local" or "lib" or "include" folders, and delete any "node" or "node_modules" from there
# go to /usr/local/bin and delete any node executable
cd /usr/local/bin
sudo rm -rf /usr/local/bin/npm
sudo rm -rf /usr/local/bin/node
ls -las

# you may need to do the additional instructions as well:
sudo rm -rf /usr/local/share/man/man1/node.1
sudo rm -rf /usr/local/lib/dtrace/node.d
sudo rm -rf ~/.npm

### macOS 卸载 Node.js 旧版本方法 在 macOS卸载 Node.js 的旧版本,需要彻底删除所有与 Node.js 相关的文件和目录。以下是综合多个引用提供的完整方法[^1]。 #### 1. 检查当前安装的 Node.js 版本 在终端中运行以下命令以确认当前安装的 Node.js 版本: ```bash node -v ``` 如果需要卸载特定的历史版本,可以通过 `nvm` 或手动查找安装路径进行操作。 #### 2. 使用 Homebrew 卸载 Node.js 如果通过 Homebrew 安装了 Node.js,可以运行以下命令卸载: ```bash brew uninstall node ``` 这将卸载通过 Homebrew 安装的所有 Node.js 版本[^3]。 #### 3. 手动删除 Node.js 文件和目录 对于非 Homebrew 安装的 Node.js,可以运行以下命令手动删除相关文件和目录: ```bash sudo rm -rf /usr/local/{lib/node{,/.npm,_modules},bin,share/man}/{npm*,node*,man1/node*} sudo rm -rf ~/{.npm,.forever,.node*,.cache,.nvm} ``` 这些命令会清除 Node.js 的核心文件、模块缓存以及用户目录下的相关配置文件[^2]。 #### 4. 删除全局安装的 npm 包 如果全局安装了某些 npm 包,也需要一并清理: ```bash sudo npm uninstall --global <package_name> ``` 或者直接清除所有全局包: ```bash sudo rm -rf /usr/local/lib/node_modules ``` #### 5. 清理残留文件 为了确保没有遗漏,可以运行以下命令清理可能的残留文件: ```bash sudo rm -rf /usr/local/include/node sudo rm -rf /Users/$USER/.npm sudo rm /usr/local/bin/node sudo rm /usr/local/share/man/man1/node.1 sudo rm /usr/local/lib/dtrace/node.d ``` 这些命令会删除 Node.js 的头文件、用户缓存、二进制文件、手册页以及 DTrace 脚本[^4]。 #### 6. 验证卸载结果 运行以下命令验证是否成功卸载 Node.js 和 npm: ```bash node -v npm -v ``` 如果返回“command not found”,则说明卸载成功。 --- ### 注意事项 - 如果使用了 `nvm`(Node Version Manager),可以直接通过 `nvm uninstall <version>` 卸载指定版本的 Node.js[^5]。 - 在执行 `sudo rm -rf` 命令时需谨慎,避免误删重要系统文件。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值