30
25

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

brew cask でインストールされているアプリを全てアップデートする

Last updated at Posted at 2019-08-31

homebrew-cask で upgradeコマンドがあるが、最新バージョンがアップデートされない。
いちいちformula名を指定するとアップデートできる場合もあるが、一つ一つ指定するのは面倒臭い。

そんな時は、--greedyを引数にするそうです。
(他の方法で今までやってたんですが、@dotさんの情報で、--greedy すれば良いことがわかりました。)

% brew cask upgrade --greedy

ただし上記コマンドだと、Warning: Calling brew cask upgrade is deprecated! Use brew upgrade --cask instead.と警告が出るようになりました。

今後は以下のようにするべきでしょうか。

% brew upgrade --cask --greedy

man cask upgradeでも書かれてましたね。

--greedy
              Upgrade casks with auto_updates or version :latest

因みに、普通にbrew cask upgrade で最新バージョンにアップデートできないソフトウェアがある理由ですが、ソフトウェア自体でアップデート機能を持つものは、ソフトウェア自体に任せるスタンスらしいです。

まあ、個人的にはバージョン管理もbrew上で合わせたいので、このコマンドで強制的にアップグレードした方がいいかな・・・

ということで、以下の情報は間違いです! まあ動くけど・・










???まてよ「単純にformula名リストを指定すればいいんじゃね?」

~~## formula名リストを指定して、brew cask upgrade

$ brew cask upgrade `brew cask list`

補足:もちろんグレイヴ・アクセントではなく、xargを利用してもいいと思う。

$ brew cask list | xargs brew cask upgrade

ただし、この方法だと強制的にアップデートしてしまうので、以下のコマンドで事前にチェックした方が良さげ。

アップデートする前にチェックだけする

$ brew cask upgrade --dry-run `brew cask list`

結果: アップデートなしの場合

==> No Casks to upgrade

結果: アップデートありの場合

==> Would upgrade 2 outdated packages:
skype 8.51.0.72 -> 8.51.0.92, thunderbird 60.8.0 -> 68.0

事前にアップデートをチェックできれば安心。(なぜbrew cask upgradeだけではこの情報がピックアップできないのか謎)

以上

30
25
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
30
25

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?