如何使用 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 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/<version>/
,因此您很可能同时安装了这两个版本。然后它将最新版本符号链接到$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 公式?