MacでHomebrewを使って
最近良く使われる
ミーティングアプリのZoom
をインストールすることが出来ますが、
以前までこのCaskはzoomus
という名前でした。
これが先日zoom
というCaskに名前変更されました。
- zoomus to zoom
- zoomus v.s. zoom
- Zoomブームで間違える人続出で変更
- zoomusからzoomへの変更方法
- Homebrewのアップデート(
brew cask
がobsoleteに)
zoomus to zoom
MacでHomebrewは自動でbrew upgrade
とかcronで行っているのですが、
その際にZoomが上手くアップグレードされてなくて消えてしまっていて、
でもCaskは登録されたまま、ということで再インストールしてみようとしてみると
$ brew reinstall zoomus
==> Caveats
RENAME WARNING
Due to prevalent user confusion, the zoomus cask (this one) will be renamed to zoom.
In the meantime, zoomus will install zoom for you as a dependency, but you should update your scripts.
We’re aware this solution is subpar. If you’d like to help us improve it,
we accept PRs and need the equivalent of formula_renames.json for casks: https://docs.brew.sh/Rename-A-Formula
To migrate now, do:
brew uninstall zoomus
brew install zoom
==> Downloading https://d11yldzmag5yn.cloudfront.net/prod/5.4.58903.1122/Zoom.pkg
Already downloaded: /Users/user/Library/Caches/Homebrew/downloads/7c46079392a9987ce02e05532981f0aba10d024ef1beeaa7401c6028cc27c589--Zoom.pkg
All Formula dependencies satisfied.
==> Uninstalling Cask zoomus
==> Purging files for version 5.4.58903.1122,alias of Cask zoomus
==> Installing Cask zoomus
zoomus was successfully installed!
な感じの表示が。
ミーティングアプリ、Zoom.us.appのCaskがzoomus
からzoom
に変わったとのこと。
zoomus v.s. zoom
ミーティングアプリのZoomのCaskは昔からありますが、 これはつい最近までHomebrewでは zoomus という名前のCaskでインストールできる様になっていました。
Zoomを使い始めた頃、brew cask install zoom
でZoomインストールできた、
と思っていざ立ち上げてみると何やら使えず、
仕方なく直接ダウンロードして使ったりしていました。
(ミーティングの直前に入れよう、と思って、使えない!と焦った思い出。)
で、よく調べてみると、
以前まではzoom
というCaskは
Zoom
という、テキストベースのゲームプレーヤーのようなアプリのためのものでした。
homebrew-cask/zoom.rb at bdefe680aadb503e71f145448877a2f82b50be86 · Homebrew/homebrew-cask
これ自体、Zoom.app
という名前のアプリをインストールするので間違ってはいない。
きっとこれにzoom
という名前を取られたからミーティングアプリの方はzoomus
にしたのかな、
と思ったら、
zoom.rb
の
最初のcommit
は2014/10/10で、
zoomus.rb
の
最初のcommitは2014/2/28でした。
つまり、
zoomus.rb
のが先。
ただ、そもそもZoom.app
は2000に始まったもので、この名前を最初に使った様です
1
。
一方で、ミーティングアプリの方は2011年に会社作って2013年にアプリを作って、
という感じらしいので
2
おそらくZoom.app
というものがすでにあるからZoom.us.app
という名前のアプリにしたんだと思います。
そういう経緯もあって、Homebrew-caskに最初入れたとき、
入れた人がアプリの名前の通りzoomus
で入れたんだと思います。
Zoomブームで間違える人続出で変更
まあ実際続出だったかどうかは知りませんが、
やはりこれだけ有名になったアプリをインストールするのに
あまりに紛らわしいものがあるのは良くない、
また、対象のアプリはあまり使われてるものではない、ということで
zoom
というCaskがZoom.us.app
をインストールするように変更され、
zoomus
はobsoleteなものとなりました。
Rename zoomus to zoom by vitorgalvao · Pull Request #93802 · Homebrew/homebrew-cask
上のIssue内にzoom
とzoomus
のダウンロード数がありますが、この時点(11/30)で、
過去一ヶ月で
- zoom: 2288
- zoomus: 6918
のダウンロードがあったとのこと。
ただ、Zoom.app
の知名度的におそらく殆どのものはZoom.us.app
を入れようとして間違って入れられたものだと思われます。
というわけで、zoom
の方でZoom.us.app
がインストールされる様になりました。
ただ、Issue自体にThumbsdownが5つも着いてる辺り 抵抗がある人はいるみたいです。
個人的にもアプリの名前はZoom.us.app
だし、
今更変えるのはどうかな、とは思います。
Zoom.app
を使ってる人だっているかも知れないのに。
今後Zoom.app
を使いたい場合にはHomebrewで入れるなら
$ brew install https://github.com/Homebrew/homebrew-cask/blob/25b3303c6203c78ff9099b4a040af8ad60c4f704/Casks/zoom.rb
の様に直接過去のファイルを参照するか、このCaskを自分でTap用レポジトリ作って入れて管理するか。
いずれにしろHomebrewの公式サポートは外れることになります。
まあ最初にインストールしたときはこの紛らわしいアプリめ…と思ったものではありますが。
zoomusからzoomへの変更方法
対処としては書いてあるとおり
$ brew uninstall zoomus
$ brew install zoom
とすればOK
Homebrewのアップデート(brew cask
がobsoleteに)
ちなみに最近のHomebrew(2.6.x)でbrew cask install
など
が非推奨になり、上の様にCaskもcask
なしでやるのが推奨となっています。
cask
をつけると
Warning: Calling brew cask install is deprecated! Use brew install [--cask] instead.
Warning: Cask ‘zoom’ is already installed.
To re-install zoom, run:
brew reinstall zoom
みたいなwarningが出るように。
listするときも
$ brew list # or brew list --formula
$ brew list --cask
の様に--cask
というオプションを付けてHomebrewのFormulaと同じコマンドを使うことが推奨されます。
これでちょっと困ってるのがHomebrew-file。
check install package if formula or cask · Issue #102 · rcmdnk/homebrew-file
普通にbrew file init
とかする分には今の所問題ないのですが、
brew-warpを使ってると
$ brew install zoom
とするとzoom
がFormulaの欄に入ってしまいます。
その後もう一度brew file init
すれば正しくなるのですが、ちょっと面倒。
というのも、Brewfileのアップデート時に、brew list
を呼ぶとかなり時間がかかるので、
単体インストールのときには元のファイルの内容をもとに直接一つ足すような作業をしているからです。
Caskかどうか判断するにはおそらくbrew list --cask
呼ぶのが速いんですが、
それならいっそbrew file init
するのとあまり変わらん、という事態。
これ2.5.xのときに次来るのは気づいてたんですが治さないまま来ていた。。。
とりあえず仕方ないからbrew file init
と同じことを毎回する様にしておくか。。。
ちなみに、この変更が来ることに気づいたのは以下のIssueで、
もともとmaster版で進んでた変更だと、brew list
したときに、
標準出力には出すけどパイプなどでつないだら出さない、という
悲しい変更があってバグってたときでした。
brew file update
fails, reportingbrew list
being disabled · Issue #101 · rcmdnk/homebrew-file
どうやらこの変更は現在の2.6.2には入れられず、
とりあえず上のwrap
での問題以外はHomebrew-fileも動いているはず。
ただ、なにか問題があったらIssueとかで教えて下さい。