【问题标题】:How to install latest version of Node using Brew如何使用 Brew 安装最新版本的 Node
【发布时间】:2011-06-30 16:16:34
【问题描述】:

NodeJs 目前最新版本是 0.4.1

命令 brew install node 现在安装 0.2.6 - 这并不理想。我想要 0.4.1

我查看了 this list of commands 的 brew 并尝试了 brew install --HEAD node

但这会安装节点 0.5-pre。

为什么 brew 没有安装正确的版本,我如何强制它安装正确的版本?

在这个阶段,看起来只是下载 src 并手动安装它实际上会更容易。但我想知道 Brew 的情况。

【问题讨论】:

  • 我很好奇。通过 Homebrew 安装和从 nodejs.org 下载的包安装有什么区别?

标签: macos homebrew


【解决方案1】:

按以下顺序运行以下命令:

brew update
brew doctor
brew upgrade node

现在您已经安装了 node 的更新版本,它可能没有链接。如果不是,那么只需输入:brew link nodebrew link --overwrite node

【讨论】:

  • 不断收到/usr/local/share/doc/node is not writable.
  • @SabaAhang,请参阅:修复 Homebrew 的 /usr/local 权限; ; gist.github.com/rpavlik/768518
  • 错误:没有这样的小桶:/usr/local/Cellar/node
  • brew link --overwrite node 这真的很重要!谢谢
  • @SabaAhang 运行sudo chown -R $USER /usr/local
【解决方案2】:

通过 brew 安装/升级节点后,我遇到了这个问题:node 命令有效,但 npm 命令无效。

我使用这些命令来修复它。

brew uninstall node
brew update
brew upgrade
brew cleanup
brew install node
sudo chown -R $(whoami) /usr/local
brew link --overwrite node
brew postinstall node

经过反复试验,我拼凑出这个解决方案……

【讨论】:

  • 谢谢!有完全相同的问题,这解决了它。
  • sudo brew postinstall node 将抛出错误,除非 brew 由 root 拥有(不推荐)。如果您已经做过sudo chown -R $(whoami) /usr/local,我认为不需要它。你应该可以运行brew postinstall node
  • @SamFen 是对的。 sudo 不需要。在给出这个命令列表之前,我首先运行了接受的答案。之后我跑了node -v,现在一切似乎都很好。
  • 使用 sudo chown -R $(whoami) $(brew --prefix)/* 代替 sudo chown -R $(whoami) /usr/local
  • 这对我有用。我做了@TroyDCThompson 推荐的sudo chown -R $(whoami) $(brew --prefix)/*,因为我得到了Operation not permitted
【解决方案3】:

你有没有先运行brew update?如果你不这样做,Homebrew 就不能更新它的公式,如果它不更新它的公式,它就不知道如何安装最新版本的软件。

【讨论】:

  • 对,我试过'brew update node',但现在我知道你是对的。我没有想到,因为 doco 说“brew update”会更新 brew 软件——这似乎没有什么区别。但它提到了“formulea”——这只是一个(坦率地说)愚蠢的词,因为它基本上是“软件版本库”。我可以执行“brew info node”来找出它要安装的版本。它设置为 0.4.0 所以我最终还是从 src 安装,但这是正确的。谢谢。
  • 当它说“更新 brew 软件”时,它并不意味着更新 brew 已安装的软件 - 它意味着更新 brew 本身,以及它的公式库。
【解决方案4】:

有时brew update 对我来说会失败,因为一个包没有正确下载。所以你可以像这样升级一个特定的库:

brew upgrade node

https://gist.github.com/3005832

【讨论】:

    【解决方案5】:

    另外,尝试在安装新的节点版本后停用当前的节点版本。它帮助到我。

    nvm deactivate
    

    这已从 $PATH 中删除 /Users/user_name/.nvm/*/bin

    在那个节点被更新之后

    node --version
    v10.9.0
    

    【讨论】:

      【解决方案6】:

      我必须在 brew install node 之后执行 brew link --overwrite node 才能从 0.4 更新到 0.8.18

      【讨论】:

      • 错误:没有这样的小桶:/usr/local/Cellar/node
      【解决方案7】:

      如果您已经通过Homebrew 安装了当前节点,请使用这些命令。

      brew update
      brew upgrade node
      

      检查节点版本

      node -v

      【讨论】:

        【解决方案8】:
        1. node -v 将显示当前版本。
        2. npm -v 会显示当前版本。
        3. brew link --overwrite --dry-run node 将强制链接并覆盖所有冲突的文件。
        4. brew install node 进行全新安装。
        5. brew update
        6. brew upgrade node
        7. brew link --overwrite node

          brew link node

        Node Upgrade Procedure are below

        【讨论】:

        【解决方案9】:

        尝试使用“n”Node 非常简单的包管理器。

        > npm install -g n
        

        一旦你安装了“n”。您可以通过执行以下操作来拉取最新的节点:

        > n latest
        

        我已经在 Ubuntu 16.0x 和 MacOS 10.12 (Sierra) 上成功使用它

        参考:https://github.com/tj/n

        【讨论】:

          【解决方案10】:

          刚刚将此解决方案与 Homebrew 0.9.5 一起使用,它似乎是升级到最新稳定版本节点的快速解决方案。

          brew update
          

          这将安装最新版本

          brew install node
          

          取消链接您当前使用的节点版本,node -v,以找到此

          brew unlink node012
          

          这将更改为最新版本的节点。

          brew link node
          

          注意:由于我收到此错误,此解决方案有效:

          错误:没有这样的小桶:/usr/local/Cellar/node

          【讨论】:

            【解决方案11】:

            我是在 Mac OSX Sierra 上完成的。我安装了 Node 6.1,但 Puppetter 需要 Node 6.4。这就是我所做的:

            brew upgrade node
            brew unlink node
            brew link --overwrite node@8
            echo 'export PATH="/usr/local/opt/node@8/bin:$PATH"' >> ~/.bash_profile
            

            然后打开一个新的终端窗口并运行:

            node -v
            v8.11.2
            

            --overwrite 是覆盖 node6 和 node8 之间冲突文件所必需的

            【讨论】:

              【解决方案12】:

              您可以使用nodebrew。它也可以切换节点版本。

              【讨论】:

                【解决方案13】:

                如果节点没有安装那么

                brew install node
                

                如果您安装了旧版本的节点,请将其删除并重新安装,这是唯一合适的方法。

                确保在环境文件中添加路径。

                【讨论】:

                  【解决方案14】:

                  如果您愿意删除 brew 依赖项,我会推荐 nvm - 我不能真正推荐它而不是任何其他版本控制解决方案,因为我不需要尝试其他任何东西。能够根据您正在处理的项目在版本之间即时切换非常有价值。

                  【讨论】:

                    【解决方案15】:

                    去老学校 - https://nodejs.org/en/download/current/ 从那里您可以获得当前或 LTS 版本

                    【讨论】:

                      【解决方案16】:

                      sudo n 最新

                      酿造更新

                      brew升级节点

                      参考: https://bytearcher.com/articles/ways-to-get-the-latest-node.js-version-on-a-mac/

                      【讨论】:

                        猜你喜欢
                        • 2017-12-01
                        • 2013-05-02
                        • 1970-01-01
                        • 1970-01-01
                        • 2018-12-06
                        • 1970-01-01
                        • 1970-01-01
                        • 2017-09-03
                        • 1970-01-01
                        相关资源
                        最近更新 更多