【问题标题】:Uninstalling and reinstalling node卸载并重新安装节点
【发布时间】:2015-01-16 03:42:34
【问题描述】:

我正在我的 MacBook 上卸载和重新安装 node 和 npm。

到目前为止,我已经完成了:

  1. sudo rm -rf /usr/local/lib/node_modules/npm/
  2. brew 卸载节点
  3. brew 取消链接节点
  4. sudo rm -rf [任何和所有与节点相关的文件和目录]
  5. 酿造医生
  6. 酿造李子
  7. brew 安装节点
  8. 酿造链接节点

在链接之前,每个步骤都可以正常工作。当我尝试 brew link --overwite 节点时,我收到此错误:

正在链接 /usr/local/Cellar/node/0.10.33...

错误:无法符号链接 include/node/ares.h /usr/local/include/node 不可写。

这里是相关的堆栈溢出:How do I completely uninstall Node.js, and reinstall from beginning (Mac OS X)

这可能是调整顺序的问题。有没有人经历过这个过程并有任何提示?我注意到有人已经尝试在我也在使用的生产笔记本电脑上安装节点并遇到相同的 brew 链接错误。

【问题讨论】:

  • 我使用nvm取得了很好的成功

标签: node.js npm


【解决方案1】:

Try this 并使用nvm 重新安装它。 NVM 让您可以选择安装所需的任何节点版本。

【讨论】:

    【解决方案2】:

    这篇文章有点陈旧,但我遵循了here 的建议,了解如何卸载 Node.js,但收效甚微。删除 /usr/local/lib/usr/local/include 中的 nodenode_modules 没有为我做,我没有安装自制软件。最后它真的很简单。

    检查您的路径变量 - 在终端输入:

    echo $PATH
    

    转到列表中发出的每个目录,并开始删除任何名为 nodenode_modules 的内容。每次检查后检查您是否已将其卸载;只需尝试检查 Node.js 的版本就足够了 - 在终端输入:

    node -v
    

    安装后,您会看到一个版本。当您看到其他消息(可能是“找不到文件或目录”)时,您就知道您已经手动卸载了它。

    在发这篇文章时,我可以在nodejs.org 上下载一个安装程序,它似乎可以安装最新版本。

    【讨论】:

      【解决方案3】:

      尝试sudo chown -R $(whoami) /usr/local/,然后重新运行brew link --overwrite node

      编辑 这是我最近两次不得不酿造链接节点的问题,它解决了我的问题。

      ^^^^^^^^^^^^^^^^^^^^^^^

      这是不应该做的。虽然它确实适用于给定的问题,it is reckless。不要像我以前那样相信你在互联网上读到的一切。 ;) 以下是从 OSX 卸载 node.js 的多种方法,然后是解决此问题中提出的问题的更好方法。所有这些都是通过 google 找到的……通常会带我回到 StackOverflow。基本思想是一切都需要去。

      NPM(最安全)

      sudo npm uninstall npm -g 删除所有文件。

      sudo rm -rf /usr/local/lib/node \ /usr/local/include/node \ /usr/local/lib/node_modules \ /usr/local/include/node_modules \ /var/db/receipts/org.nodejs.* 删除无关的 bash 路径名。

      如果您从 Node.js 网站安装

      sudo rm -rf /usr/local/{bin/{node,npm},lib/node_modules/npm,lib/node,share/man/*/node.*}

      您可以尝试的脚本(带自制软件)

      这个比下面列出的下一个更新更频繁,并且非常有条理。它确实会尝试使用一些 brew 命令,因此如果您不使用自制软件,请不要使用它。它确实有一个所有问题目录的列表,这很好。 SourceMore info. 忽略最后对chown 命令的建议,因为应在不更改关键系统目录权限的情况下删除节点。

      1. curl -O https://raw.githubusercontent.com/DomT4/scripts/master/OSX_Node_Removal/terminatenode.sh
      2. chmod +x /path/to/terminatenode.sh
      3. ./terminatenode.sh

      您可以尝试的另一个脚本

      这个要点是由 NiceRobot 创建的。 Gist is here. 请在运行之前阅读它,以确保您能够轻松运行此脚本。与所有这些选项一样,它确实需要 sudo。

      1. curl -ksO https://gist.github.com/nicerobot/2697848/raw/uninstall-node.sh 下载脚本。
      2. chmod u+x ./uninstall-node.sh 允许您执行脚本。
      3. ./uninstall-node.sh 运行脚本
      4. which node 检查节点是否仍然安装。如果是这样,请选择其他选项。
      5. rm uninstall-node.sh 删除脚本。

      这个问题提出的具体问题可以通过以下方式处理。感谢大家的cmets/建议。希望所有这些都可以帮助某人,因为所有这些都可以在一个答案中找到。

      sudo rm -rf /usr/local/include/node

      sudo rm -rf /usr/local/include/node_modules

      参考文献

      1. NiceRobot
      2. Another Q&A on StackOverflow
      3. This website.

      【讨论】:

      • 谢谢。 brew 链接问题中指示的文件的 sudo rm -rf 也解决了该问题。更多的是找到这些文件。
      • 很高兴你解决了。我提出的解决方案将启用 brew link --overwrite 命令来覆盖您关注的文件。通过仅指定那些给出错误的目录,您可以减少使用 chown 命令的“鲁莽”。
      • 无需以 root (sudo) 身份安装 Node.js,因此应避免使用基本系统库路径的 chown。提供更好的 Node.js 安装说明
      • 我已经根据每个人的建议/cmets 改进/更新了我的答案。如果有问题或需要添加,请随意添加更多 cmets。
      • 我最终以安全的方式进行操作,但您的建议在理解节点文件结构方面更有用。
      猜你喜欢
      • 1970-01-01
      • 2013-05-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-04-25
      • 1970-01-01
      • 2010-11-11
      • 1970-01-01
      相关资源
      最近更新 更多