自制软件更新和应用程序自我更新

Pri*_*ora 4 homebrew updates homebrew-cask

如果应用程序自动更新,homebrew/cask的更新如何工作.

示例:Chrome或Firefox

这两个应用程序会自动更新.

但是当你运行brew更新时会发生什么?

它是否检测到它已经更新或检查它安装的应用程序的内部列表(错过它已经更新)并重新更新应用程序>

lam*_*que 8

Homebrew 不会自动跟踪木桶应用程序的新版本,您可以将此类应用程序留给自己的自动更新,因为 Homebrew 打算将其留给自己的升级系统,例如

brew upgrade google-chrome
Run Code Online (Sandbox Code Playgroud)

即使google-chrome有新的更新也不执行任何操作。

注意,现在Homebrew 2.5.5brew cask弃用并集成到正常状态brew。如果你想明确地为木桶做,你可能想要--cask

brew upgrade --cask google-chrome
Run Code Online (Sandbox Code Playgroud)

但基本上都是一样的。

如果您想在 Homebrew 上使用最新版本,您可以运行如下命令

brew upgrade --greedy google-chrome
Run Code Online (Sandbox Code Playgroud)

您还可以使用以下命令检查最新版本和本地版本之间的差异

brew upgrade --greedy --dry-run google-chrome
Run Code Online (Sandbox Code Playgroud)

然而,这种方式主要适用于没有自己的升级系统的木桶应用程序,并且只要您不关心 Homebrew 上的版本号,对于具有升级系统的应用程序就不需要这些命令。


小智 7

Homebrew Cask 存储库在技术上是一个 Homebrew Tap。

这意味着:

  • 每次发出 Homebrew 命令时,它都会拉下最新的桶 brew update
  • 您可以使用以下命令检查过时的木桶brew cask outdated并安装过时的木桶brew cask upgrade

对于这个问题最重要的是,自我更新的应用程序包括auto_updates true. 这意味着这些桶被brew cask outdated和忽略brew cask upgrade。这可以通过添加--greedy到命令来覆盖。

Firefox 容器为例:

  url "https://download-installer.cdn.mozilla.net/pub/firefox/releases/#{version}/mac/#{language}/Firefox%20#{version}.dmg"
  appcast 'https://www.macupdater.net/cgi-bin/check_urls/check_url_redirect.cgi?url=https://download.mozilla.org/%3Fproduct=firefox-latest-ssl%26os=osx'
  name 'Mozilla Firefox'
  homepage 'https://www.mozilla.org/firefox/'

  auto_updates true
Run Code Online (Sandbox Code Playgroud)

进一步参考是here


rob*_*ede 5

brew cask upgrade版本1.3.9开始是可能的

  • 这个答案实际上并没有回答这个问题。为了完整,它需要说明如果应用程序自动更新并且有人运行“brew cask upgrade”会发生什么。 (8认同)

Tim*_*ith 2

。没有brew cask upgrade

  • 从版本 1.3.9 开始可以进行“酿造桶升级” (7认同)