【问题标题】:Homebrew updates and app self updatesHomebrew 更新和应用程序自我更新
【发布时间】:2015-02-11 19:06:48
【问题描述】:

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

示例:Chrome 或 Firefox

这两个应用会自动更新。

但是当您运行 brew update 时会发生什么?

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

【问题讨论】:

    标签: homebrew updates homebrew-cask


    【解决方案1】:

    brew cask upgrade 可以从 version 1.3.9 开始

    【讨论】:

    • 对于最近的 Brew 版本,正确的语法是 brew upgrade cask
    • @LuckyStarr 这似乎并非如此。 v2.0.1 上的brew upgrade cask 给了我Error: cask not installedbrew cask upgrade 有效。
    • cask 是一个有效的brew 命令,它又具有命令upgrade。但是,如果您想更新 brew 公式,正确的语法是 brew upgrade [formula]
    • 这个答案实际上并没有回答这个问题。为了完整起见,它需要说明如果应用程序已自动更新并且有人运行 brew cask upgrade 会发生什么。
    【解决方案2】:

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

    这意味着:

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

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

    Firefox cask 为例:

      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
    

    进一步的参考是here

    【讨论】:

    【解决方案3】:

    No。没有brew cask upgrade

    【讨论】:

    • 那么当前更新木桶的程序是什么?卸载并重新安装?
    • 是的,要么在适用的情况下使用应用程序的内置更新程序,要么卸载并重新安装。
    • 跟踪的问题已关闭,没有添加升级 - 它们将是项目的一些重组(有关更多详细信息,请参见上方“跟踪”链接的底部)
    • brew cask upgrade 从 1.3.9 版本开始可以使用
    【解决方案4】:

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

    brew upgrade google-chrome
    

    即使google-chrome 有新的更新也不做任何事情。

    注意现在使用Homebrew 2.5.5brew cask 已被弃用并集成到普通的brew。 如果你想明确地为木桶做,你可能想要--cask

    brew upgrade --cask google-chrome
    

    但基本上都一样。

    如果你想在你的 Homebrew 上使用最新版本,你可以运行这样的命令

    brew upgrade --greedy google-chrome
    

    您还可以检查最新版本和本地版本之间的差异

    brew upgrade --greedy --dry-run google-chrome
    

    但是,这种方式主要适用于没有自己升级系统的 cask 应用程序,只要您不关心 Homebrew 上的版本号,您就不需要这些命令用于那些具有升级系统的应用程序。

    【讨论】:

      猜你喜欢
      • 2010-12-12
      • 1970-01-01
      • 1970-01-01
      • 2012-03-31
      • 2011-12-09
      • 1970-01-01
      • 2011-05-15
      • 1970-01-01
      • 2013-02-05
      相关资源
      最近更新 更多