渋谷ほととぎす通信

完全趣味でやってるUnityメモ。説明できないところを説明できるようにするための個人ブログ。昨日の自分より少しでも大きくなれるように。。。 ※所属団体とは一切関係がありません

brew caskが、すごく便利だったことを今更ながらに知った件


brew install hogehoge~~

って普段何気なく使っているHomeBrewですが、brew cask install fugafuga~~って打つこともあったなと。

そもそもcaskってなんなの?っていう疑問から始まったわけですが、すごく便利だということを今更ながらに知りました。

ちなみに上記のcask{とは、HomeBrew-Caskのことで、HomeBrewの拡張機能です。

brew install hogehoge

とインストールすると、

/usr/local/Cellar/配下に実態がインストールされ、/usr/local/bin/にシンボリックリンクが張られます。

brew cask install hogehoge

とすると、/Applications/配下にインストールされます。

今まで、gitやffmpegとかコマンドで叩く系のアプリケーションしか出来ないと思っていましたが、caskを使用すると Visual StudioとかGoogle ChromeなどのGUIアプリもコマンドラインからインストールすることができるようになります。

どのアプリがbrew caskでインストールできるのか?

brew search

で調べることが出来ます。種類は相当あります。 ここでは触れませんが、なければ追加できます。

brew cask にアプリがなかったら追加しよう - Qiita

他のサイトでよく紹介されている、brew cask searchだと

Calling brew cask search is disabled! Use brew search instead.

というエラーが出てしまいます。

ただ brew searchだと出力アプリが多すぎるので、絞り込めるならbrew serach googleとかすると

==> Formulae
google-authenticator-libpam              google-sparsehash
google-benchmark                         google-sql-tool
google-go ✔                              googler
google-java-format

==> Casks
google-adwords-editor
google-backup-and-sync
google-chat
google-chrome ✔
google-chrome-beta
google-chrome-canary
google-chrome-dev
google-cloud-sdk
google-drive-file-stream
google-earth-pro
google-earth-web-plugin
google-featured-photos
google-hangouts
google-japanese-ime ✔
google-japanese-ime-dev
google-nik-collection
google-notifier
google-photos-backup-and-sync
google-trends
google-web-designer
googleappengine
marshallofsound-google-play-music-player
moefe-google-translate

このような形で、FormulaとCaskを分けて検索結果を表示してくれます。

ちなみに、

brew cask list

とするとcaskでインストールしたアプリのリストが出力されます。

masが便利

/Applicationsフォルダ内には、インストーラからインストールしたものの他にAppStoreからインストールしたものがあります。caskは前者には対応できますが後者は出来ません。そこでmasを使います。

brew install mas

でインストールできるmas。この子は、AppStoreから1度インストールしたアプリをコマンドラインからインストールすることが出来ます。

各アプリにはIDが割り振られており、

mas install ID

でインストールすることが出来ます。

割り振られたIDの調べ方ですが、

brew bundle dump

と実行するとBrewfileというファイルを出力してくれて、以下のように、現在インストールされているアプリとIDを出力してくれます。
※それ以外にもbrew、caskでインストールされたものも出力されます

mas "Day One", id: 1055511498
mas "DrCleanerPro", id: 1037994372
mas "GIPHY CAPTURE", id: 668208984
mas "Keynote", id: 409183694
mas "Xcode", id: 497799835

Brewfileを使って自動化

先程でてきたBrewfile。 このファイルを使ってインストールの自動化をすることが可能です。

brew bundle

と実行すると記述されているアプリケーションを順番にインストールしてくれます。

# brew tapの自動化
tap "homebrew/bundle"

# ansibleのインストール
brew "ansible"

# alfredのインストール
cask "alfred"

# dayonをAppStoreからインストール
mas "Day One", id: 1055511498

みたいな感じでBrewfileに記述し、Brewfileが存在する場所に移動してbrew bundleと実行するだけです。

すでにインストーラなどでインストールした同名のアプリが存在するとインストールはされません。

Brewfileをちゃんと作ることで、macのお引越しをしたとしても低負荷で引っ越しできる気がします。

設定ファイルも保存する

ググるといろいろ出てきますが、mackupというアプリがすごくて、各アプリの設定ファイルをDropboxなどにコピーし、コピー元にシンボリックリンクを貼るということをしてくれます。

brew install mackup

とするだけです。


brew install restore

とすると、保存先(Dropboxとか)から設定ファイルの場所にシンボリックリンクが張られます。

ただし、すべてのアプリケーションに対応しているわけではないので注意が必要そうです。

~/.mackup.cfgファイルを作って以下のように書くと、指定したアプリの設定ファイルは無視され、バックアップされません。

[applications_to_ignore]
SourceTree
Hogehoge
Fugafuga

各環境で開くソースが違うことが想定されているのでブックマークを保存してもしょうがないため、SourceTreeを無視リストに入れています。

最後に

下記の参考サイトのように、時間作ってリストアしてmacをキレイな状態にしたいなと思いました。

環境

  • Homebrew 1.8.4
  • Homebrew/homebrew-core (git revision e7e9d; last commit 2018-11-26)
  • Homebrew/homebrew-cask (git revision 6bb75; last commit 2018-11-27)
  • macOS High Sierra 10.13.6

参考