【问题标题】:How do I update only *minor* version-bumps of installed Homebrew packages?如何仅更新已安装 Homebrew 软件包的 *minor* version-bumps?
【发布时间】:2020-12-28 18:25:01
【问题描述】:

我想过滤brew upgrade(默认情况下,将所有已安装的软件包升级到最新版本)以仅自动更新“箔条” - 任何出现轻微颠簸的软件包,用于我懒得阅读变更说明或担心。

这个功能是由 Homebrew 团队proposed but rejected 提供的;这里的目标是在 Homebrew 外部编写脚本,因此不需要上游兴趣。

【问题讨论】:

    标签: macos sh homebrew versioning semantic-versioning


    【解决方案1】:

    我正在使用这个 shell 脚本来为我处理它。它需要 jq (brew install jq) 和来自 npm 的 semver 包。

    brew upgrade $(
       brew outdated --json | \
          jq -r '(.formulae[] | [.name, .installed_versions[-1], .current_version]) | join(" ")' | \
          while read -r formula current new; do
             if (semver --range '~'$current $new >/dev/null);
                then >&2 echo "${formula}: $current --> $new"; echo "$formula"; fi
          done
    )
    

    如果没有要升级的次要软件包,我的解决方案将调用裸brew upgrade,这将更新其他所有内容;小心!

    【讨论】:

      猜你喜欢
      • 2020-04-12
      • 2013-12-15
      • 1970-01-01
      • 2015-07-07
      • 1970-01-01
      • 2012-02-08
      • 1970-01-01
      • 1970-01-01
      • 2021-05-13
      相关资源
      最近更新 更多