rbenvの場合はこちら
前置き
- プロジェクトで使うライブラリはできるだけbundlerで管理したい。
- でも、いちいち
bundle exec rails sとかやるのめんどい。 alias be="bundle exec"としてbe rails sってやるのもめんどくさくなってきた。- なんかいい方法ないの?ってことで調べたら、すぐ見つかったのでご紹介。
まとめ
- rvmのフックスクリプトに実行権限を与える
--binstubsをつけてbundle install
具体例
$ cd
$ chmod +x .rvm/hooks/after_cd_bundler
$ cd workspaces/sampleapp
$ vi Gemfile
source "http://rubygems.org"
gem "heroku"
$ bundle install --path vendor/bundle --binstubs
$ ls
Gemfile Gemfile.lock bin vendor
$ cd
$ cd workspaces/sampleapp
$ heroku --version
heroku-gem/2.20.0
解説
.rvm/hooks/after_cd_bundleは.bundleディレクトリが存在するプロジェクトにcdで移動したとき実行されるスクリプトで、--binstubsオプションで生成されたbinディレクトリにパスを渡す。--binstubsオプションはbundle installでインストールされたライブラリの実行スクリプトをbinディレクトリのなかに生成する。