如何使用 Homebrew 更新公式?

Posted

技术标签:

【中文标题】如何使用 Homebrew 更新公式?【英文标题】:How do I update a formula with Homebrew? 【发布时间】:2011-05-30 06:20:00 【问题描述】:

如何更新公式?

我跑了brew update。然后,运行brew outdated,输出:

mongodb (1.4.3-x86_64 < 1.6.5-x86_64)

因此,mongodb 已过时。

如何升级它?我是先卸载再安装吗?

【问题讨论】:

【参考方案1】:

仅升级 MongoDB 公式,correct way 是

brew install mongodb

如果您想升级所有过时的公式,只需这样做

brew upgrade

【讨论】:

当我运行“brew upgrade ”时,它实际上升级了所有过时的包,需要几小时而不是几秒钟。这是一个非常糟糕的设计。 “只升级一个包”的正确方法是“brew install ”,这又是一个令人困惑的设计。 我也刚刚运行了“brew upgrade ”(我想更新一个包和一个直接依赖项),然后它还升级了所有包而不是这两个。跨度> 【参考方案2】:

您可以像这样更新所有过时的软件包:

brew install `brew outdated`

brew outdated | xargs brew install

brew upgrade

这是来自 brew 网站..

用于升级单个公式:

brew install formula-name && brew cleanup formula-name

【讨论】:

我认为现在可以输入brew upgrade outdated 并跳过所有复杂的废话。 现在是 2021 年。不,你不能。 brew upgrade outdate 将更新所有过时的公式。【参考方案3】:

您首先需要通过以下方式更新本地公式

brew update

然后通过做升级包

brew upgrade formula-name

如果我想升级 mongodb,我会这样做,假设 mongodb 已经安装:

brew update && brew upgrade mongodb && brew cleanup mongodb

【讨论】:

【参考方案4】:

原来如此

brew install mongodb

并按照完成安装后输出到STDOUT 的说明进行操作,这似乎工作得很好。我猜它有点像make install 并覆盖(升级)以前的安装。

【讨论】:

Brew 将 mongodb 安装到 $HOMEBREW_PREFIX/Cellar/mongodb/&lt;version&gt;/,因此您很可能同时安装了这两个版本。然后它将最新版本符号链接到$HOMEBREW_PREFIX/bin 等。运行brew cleanup mongodb 将删除旧版本。【参考方案5】:

您不能使用 brew install 来升级已安装的公式。如果你想升级所有过时的公式,你可以使用下面的命令。

brew outdated | xargs brew upgrade

【讨论】:

您最好解释一下您的解决方案,以便对其他 SO 用户有所帮助。在这里仅发布代码并不是最佳做法。【参考方案6】:

我更喜欢升级所有自制配方自制桶配方

为此,我在我的环境中添加了一个 Bourne shell 函数(我加载了一个 .bashrc)

function updatebrew() 
set -x;
brew update;
brew cleanup;
brew cask upgrade --greedy
)

set -x 透明:以便终端输出 Homebrew 在后台执行的任何操作。 brew update 更新自制公式 brew cleanup 删除安装后遗留的任何更改 brew cask upgrade --greedy 将安装所有木桶;有版本信息的和没有的

【讨论】:

如果你安装了带有自制扩展的 postgres,我不推荐这个。我有一个新的 postgres 版本,它只会用新版本替换旧版本,让您没有简单的方法来升级您的数据库。 @narrowtux 数据库升级总是如此。您需要处理备份和恢复。因此最好将它们排除在外(黑名单)。我认为这超出了这个问题的范围。

以上是关于如何使用 Homebrew 更新公式?的主要内容,如果未能解决你的问题,请参考以下文章

macOS 上的 Homebrew:如何找到旧版本的 brew 公式?

如何使用 homebrew 在 MACOS 中安装 node.js

Homebrew安装特定版本的公式?

Homebrew:使用新的公式@版本格式列出可用版本

如何使用 Homebrew 安装指定版本的工具

MacOS 如何使用软件包管理器 Homebrew-Cask 安装软件?