bundle execを使わずにすむ方法
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
ディレクトリのなかに生成する。