LoginSignup
2
2

More than 5 years have passed since last update.

homebrew-caskのdevelopmentとproductionの切り替えをdirenvでやってみた

Posted at

homebrew-cask/doc/HACKING.md at master · phinze/homebrew-caskにhomebrew-caskをforkしてgitのプライベートレポジトリで開発するときの切り替え手順が説明されています。

gitのプライベートレポジトリ内のdeveloper/bin/develop_brew_caskを実行すると開発モードになって/usr/local/以下のbrew-caskの一部のディレクトリがgitのプライベートレポジトリ内のディレクトリへのシンボリックリンクになります。

gitのプライベートレポジトリ内のdeveloper/bin/production_brew_caskを実行するとプロダクションモードに戻ります。

開発モードの状態だと、brew updateは安全に実行できないという注意書きがあります。私の場合、開発モードにしたまま、うっかり忘れてやってしまいそうです。

そこで、zimbatm/direnvを使って切り替えをするようにしてみました。

以下の説明ではgitプライベートレポジトリが~/mysrc/homebrew-caskとします。

~/mysrc/homebrew-cask/.envrc
if ! brew list brew-cask | grep -q production_rubylib; then
  ./developer/bin/develop_brew_cask
fi
~/.envrc
if brew list brew-cask | grep -q production_rubylib; then
  ~/mysrc/homebrew-cask/developer/bin/production_brew_cask
fi

これで~/mysrc/homebrew-caskにcdしたら開発モードになり、cd ..などで外に出るとプロダクションモードに戻ります。
ただ、他でシェルを開くとプロダクションモードになってしまうので、その場合は~/mysrc/homebrew-caskで開発を続けるときに

. .envrc

として開発モードに切り替える必要があります。ちょっと面倒な気もしますが、間違って開発モードのままbrew updateするよりはいいので、とりあえずこれで使ってみます。

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2