July 18th, 2011
Bundler serves two primary purposes:
- it helps you to install the correct gem versions
- it constrains the load path to the correct gem versions at runtime
Assuming you’re using Bundler to constrain your runtime environment (which you
are if you’re using Rails 3 defaults), then you are likely prefixing most shell
We interrupt this post for an important update:
Two important pieces of information in the comments:
./binto your path exposes a serious security risk. Proceed with caution.
- rvm >= 1.6.18 + bundler >= 1.0.5 removes the need for this altogether.
We now return you to our regularly scheduled post:
Here’s a little tip to help save you the prefix, without adding any aliases or functions to your environment.
bundle install --binstubs export PATH=./bin:$PATH
bundle install --binstubs creates a
bin directory at the root of your
project, and fills it with Bundler-enabled wrappers for all of the executables
installed by the gems listed in your Gemfile. This enables you to type
bin/rake instead of
bundle exec rake, for example, ensuring that the
correct version of rake is loaded.
./bin to your path and you can just type