うなすけとあれこれ

2014年07月28日

Brewfileで管理するのはもうオワコン

brewfile is outdated

Brewfileでパッケージ管理していたあの頃

以前、こんな記事を書いた。 Homebrewとbrewfileとhomebrew-caskでMacの環境構築 Brewfileを使えば、

$ brew bundle Brewfile

これ一発で環境構築ができるという便利なコマンドだ。

今は もう うごかない その $ brew bundle

今、Homebrewで

$ brew bundle Brewfile

すると、冒頭画像のように

Warning: brew bundle is unsupported and will be replaced with another, incompatible version at some point. Please feel free volunteer to support it in a tap.

と怒られてしまう。 What? “Warning: brew bundle is unsupported …” · Issue #30815 · Homebrew/homebrew

brewfile is dead

どうすればいいのか

方法としては、2つある。

1はちょっとハードル高い。 じゃあ、2かな。

Brewfileなんて、本質はbrewがないだけのシェルスクリプトみたいなものだ。ということで、こんなのを作った。

#!/usr/local/bin/ruby
File::open( ARGV[0] ) {|brewfile|
  print "#!/bin/sh"
  brewfile.each_line {|line|
    if line[0] == "#"|| line.size == 1 then
      print line
    else
      print "brew " + line
    end
  }
}

Gistにもあるよ

こいつにBrewfileを渡せば、標準出力にシェルスクリプトとして出てくるので、適当な名前で保存して実行してやれば良い。

$ Brew2sh Brewfile > brewfile.sh
$ chmod +x brewfile.sh
$ ./brewfile.sh
2014年07月28日