微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何仅更新已安装 Homebrew 软件包的*次要*版本颠簸?

如何解决如何仅更新已安装 Homebrew 软件包的*次要*版本颠簸?

我想过滤 brew upgrade认情况下,将所有已安装的软件包升级到最新版本)以仅自动更新“chaff” - 任何出现小问题的软件包,为此我懒得看更改说明或担心。

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

解决方法

我正在使用这个 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,这将更新其他所有内容;小心!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。