rcmdnk's blog

新・実践自動化機構図解集―ものづくりの要素と機械システム

MacでApp Storeのアプリをコマンドラインからインストールする で書いたとおりついにMacで コマンドラインからApp Storeのアプリをインストールできる様になったので これを Brew-file に導入し、必要なコマンドラインツールやアプリを 全てBrewfileを元にBrew-fileでインストールできる様になりました。

Sponsored Links

Brew-fileでApp Storeのアプリを管理

Brew-fileではHomebrewでインストールされるコマンドラインツールはもちろん、 Homebrew-caskでインストールしたアプリも管理できる様になってます。

大概はこれで済むのですが、一部、App Store経由でインストールしてるアプリがあって、 その情報に関してはとりあえず手元にあるものをリストする、 という形をとっていました。

リストには残せますが、他のマシンとかに行ってbrew file installしても

Please install ~ from App Store!

みたいな表示を出すだけでした。

しかし、今回masというコマンドが公開され、これによって コマンドラインからApp Storeのアプリもインストール出来る様になりました。

これを組み込んでBrew-fileでもApp Storeのアプリをインストールできるようにしました。

masでインストールする場合には 各アプリのIDみたいなものが必要ですが、 これはmas listコマンドでアプリとIDの一覧が取得できます。

これを使って、Brew-fileではbrew file initすると、 Brewfileの中に

# App Store applications (Identifier, App Name)
appstore 451732904 App Language Chooser
appstore 430173763 Degrees
appstore 458998390 Farensius
appstore 682658836 GarageBand
appstore 992115977 Image2Icon
appstore 409183694 Keynote
...

みたいなリストが出来ます。

このファイルを他のマシンに持って行って brew file installすればこれらのアプリもインストールできます。

App Storeのアプリをインストールする際、最初だけ App Storeのアカウント認証のダイアログが出てきます。

今のところアプリのIDを取る方法がmasを使う方法しかなく、 ちょっと見た感じでどうやって取ってきてるのか分からなかったので、 mas listの情報に頼りざるを得ません。

なので、brew file initでBrewfileを作ってもらえればそのまま使えますが、 Brewfileを直接書こうとするときにも一度手元にアプリがある状態で masを使って調べないとApp Storeのアプリはかけません。

以前の様に名前だけ書いておいても通りますが、 その場合、cleanの時に削除するかどうかの判断に使われるのと、 installの際にまだインストールされてないアプリがあると、

App Store application must be listed with identifier.
Please try:
    $ brew file init

の様な表示が出るようにしておきました。

まとめ

これであるマシンの環境をbrew file initでBrewfileを書き出して 他のマシンでbrew file installすることで 一通りアプリ、コマンドラインツールのインストールを行える様になりました。

同期してる様な場合でもApp Storeなアプリも自動で入れられます。 大分便利になった感。

Sponsored Links