rcmdnk's blog
Last update

File Manager

Homebrewのコマンドを作る方法 の所で書いたとおり、シェルスクリプトでも Homebrewのコマンド化が簡単に出来る事を知ったので brewallをallとか言うコマンドにしてみましたが、しっくりこないので fileに改名してみました。

Homebrew-file

Brewfileを使ってHomebrewのパッケージを管理するコマンド。

インストールは

$ brew tap rcmdnk/file
$ brew install brew-file

で。 以前のbrewallを改名しただけです。

インストールするとbrew fileというコマンドが使えるようになります。 詳しくはbrew file helpで。

brew bundleコマンドの様にBrewfileを使いますが、 特徴として、GitHubなんかにBrewfileを置いて履歴を残せる様にしています。

まず、GitHubで新しいBrewfileというレポジトリを作ります。 その中にBrewfileという名前のファイルを1つ作っておきます。

レポジトリを作ったら

$ brew file set_repo -r rcmdnk/Brewfile

の様にレポジトリをセットします。 この様な省略した形だとGitHubを見に行きますが([email protected]:rcmdnk/Brewfile)、 Bitbucketとかでも

$ brew file set_repo -r [email protected]:rcmdnk/Brewfile

とすればOK。

セットすると

$ brew file edit

でBrewfileを開いて編集出来る様になります。

もし、すでにHomebrewを使っていてパッケージをインストールしている場合、 最初に

$ brew file init

とするとBrewfileを今入れているパッケージで初期化します。

TapされたものやCaskでインストールされたものも全て管理されます。

こんな感じ。

Brewfile

後は、パッケージをインストールした際等に、

$ brew file update

を実行すると、Homebrewのアップデート(update/upgrade) を行った後にリストを更新して GitHubの方へもファイルを送って更新します。

この際、GitHubの方で更新があった場合にはそれを取ってきて 新しく追加されてるパッケージがあればそれを追加します。

通常のインストール時にBrewfileも更新したい場合は

$ brew file brew install <package>

と、brew fileコマンドに続いてbrewコマンドを書くことで 上のupdateも同時に行われる様になります。 (オプションとかで常にするようにしても良いかも?もしくはinstall自体をラップする?)

パッケージを削除した際にはBrewfileは更新されないので、

$ brew uninstall <package>

とした際にはbrew file editを実行して該当パッケージの部分を消してください。

消さないと次にbrew file updateをした際にまたインストールされます。 (ここもbrew install時に自動でupdateするのと同様、自動化することがToDo。)

削除するときにちょっと注意が必要ですが、 これで複数のMacを管理している場合にも、 brew file updateするだけで常に同じパッケージをどこでも使える様になります。

1つのMacしかない場合でもBrewfileがバージョン管理されるので便利。

英語で書いたもうちょっと詳しい最新版:

Brew-file: Manager for packages of Homebrew

Sponsored Links
Sponsored Links

« ThinkPad X41にLubuntuをインストールしてみた コマンドラインからGitHubのレポジトリを作る »

}