【问题标题】:Node using wrong version after Brew InstallBrew 安装后节点使用错误的版本
【发布时间】:2017-08-30 07:50:21
【问题描述】:

我使用的是最新 macOS (10.12.3) 的 Macbook,我通过运行安装了 Homebrew:

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

之后我安装了节点:

brew install node

并尝试升级它:

> brew upgrade node
> Error: node 7.8.0 already installed

我收到一条错误消息,提示我已经安装了 7.8.0 版本,这是意料之中的,因为我刚刚安装了最新版本。

问题:在我运行的终端上:

> node --version
> v4.4.5

并取回显然已经安装的旧版本。此外,当我通过npm 安装一些新包时,我收到一条警告,说该包需要更新版本的节点。

问题: 我的 mac 上似乎安装了两个版本的 node,我如何使用最新的版本?以及如何卸载所有其他旧节点版本?

非常感谢您的帮助!

【问题讨论】:

  • 您是否运行过 brew cleanup 并重新启动了 shell?
  • 在遇到这些问题后,我遇到了nvm。我安装了它,但是当我尝试nvm use nodenvm use 7.8.0 时,它给了我一个错误,即节点本身没有安装(在第一种情况下),并且在第二种情况下没有安装版本。
  • @theWanderer4865 嘿,谢谢你的建议,让我试试。我跑了brew cleanup,它似乎已经被执行了,没有给我任何回应。重新启动 shell node --version 后仍然给我旧节点。
  • 您应该卸载使用自制软件安装的版本,因为它可能会导致 nvm 工作方式出现问题 - 文档中有一节(如果有记忆的话)关于处理自制软件相关问题。
  • @theWanderer4865 再次感谢。到目前为止,我运行了brew uninstall node,以删除 node 的 brew 版本。然后我通过运行rm -rf /usr/local/{lib/node{,/.npm,_modules},bin,share/man}/{npm*,node*,man1/node*} 来跟踪这个stack,这似乎也删除了旧版本的节点。现在我将尝试使用 nvm 安装。

标签: node.js macos version


【解决方案1】:
  1. brew 安装节点
  2. brew 升级节点
  3. 节点-v
  4. sudo n 最新
  5. 节点-v

第一步将使用自制软件安装节点,然后您需要使用自制软件升级节点,如上面提到的第 2 步,然后当您检查节点版本时,您会看到最新节点已安装但仍可在旧版本上运行,最后当您运行第 4 步 cmd 时,它将安装最新节点,如果您现在检查,这将显示最新节点版本,您已准备好现在去 。这对我有用

【讨论】:

  • sudo n latest 不会更新 brew 版本。您正在更新 node 的非 brew (mac) 版本。
【解决方案2】:

我遇到了类似的问题,Salome 的回答修复了它,但是,当我打开一个新的 shell 时,它恢复到了旧版本的 node.js。如果我输入 node list 我发现我仍然有许多版本,尽管按照 Salome 的说明删除了所有旧版本。

我可以通过键入 nvm use v7.8.0 来修复它,但这不适用于新的 shell。我能够按照这个 SO answer

永久修复它
nvm alias default 7.8.0

【讨论】:

    【解决方案3】:

    按照 cmets 中的@theWanderer4865 建议解决了我的问题。

    首先,我卸载了我通过brew安装的node版本:在我执行的终端中:

    > brew cleanup
    > brew uninstall node
    

    其次,我通过运行删除了我安装的所有其他节点版本:

    > rm -rf /usr/local/{lib/node{,/.npm,_modules},bin,share/man}/{npm*,n‌​ode*,man1/node*}
    

    第三,使用nvm再次安装节点:

    > nvm install node
    

    【讨论】:

    • 并且nvm 本身可以安装在official instructions 之后,在撰写本文时,curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash 在终端上运行。现在,安装curl ...哈哈
    • 非常感谢,我遇到了同样的问题,但版本 8(本地)和 12(brew)。按照这些步骤解决了它。
    • 谢谢!这就是为我做的。值得一提的是,当我运行 rm -rf 命令时,它与任何内容都不匹配。但是这些步骤仍然为我解决了问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-10
    相关资源
    最近更新 更多