ChatGPT解决这个技术问题 Extra ChatGPT

如何使用 Brew 安装最新版本的 Node

目前 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 下载的包进行安装有什么区别?

B
Bryan Downing

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

brew update
brew doctor
brew upgrade 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
s
stevek-pro

通过 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

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

一个github线程:https://github.com/npm/npm/issues/3125

这个网站:http://developpeers.com/blogs/fix-for-homebrew-permission-denied-issues


谢谢!有完全相同的问题,这解决了它。
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
这对我有用。当我得到 Operation not permitted 时,我做了 @TroyDCThompson 推荐的 sudo chown -R $(whoami) $(brew --prefix)/*
L
Lily Ballard

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


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

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

brew upgrade node

https://gist.github.com/3005832


A
AlexSh

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

nvm deactivate

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

在该节点更新后

node --version
v10.9.0

H
Harikrishnan

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

brew update
brew upgrade node

检查节点版本

node -v


t
the Tin Man

node -v 将显示当前版本。 npm -v 将显示当前版本。 brew link --overwrite --dry-run node 将强制链接并覆盖所有冲突的文件。 brew install node 进行全新安装。 brew update brew upgrade node brew link --overwrite node 或者 brew link node

Node Upgrade Procedure are below


这可能对某些 -/usr/local/include/node is not writable codegrepper.com/code-examples/javascript/… 有所帮助。
o
ojreadmore

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


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

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

> npm install -g n

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

> n latest

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

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


u
user2096561

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

brew update

这将安装最新版本

brew install node

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

brew unlink node012

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

brew link node

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

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


D
Daniel Viglione

我在 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 之间冲突文件所必需的


c
c-project

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


H
Hims1911

如果未安装节点,则

brew install node

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

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


J
Jon z

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


d
danharsanyi

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


a
abhay anand

sudo n 最新

或者

酿造更新

酿造升级节点

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


T
Thiago Avila

我在这里尝试了一切,但显然,我使用 nvm 来安装节点。所以我就跑了

nvm deactivate

接着

brew install node
node -v