gems...on ice
When developing and deploying
RubyOnRails applications you’ve
often got to think about the gem
dependencies your project might have. It’s particularly useful to freeze
a version of rails in your vendor directory so that your app uses
that version of rails rather than a globally installed (or not
installed) one. It’s easy to do this by simply invoking:
rake freeze_gems
Which will unpack all the rails gems into vendor, and your application will magically use these instead of the globally installed rails gems.
The cool thing is that with a little bit of plugin help you can freeze your other gems in vendor as well. Simply install Rick Olson’s elegantly simple gem plugin into vendor/plugins. Then assuming you are using let’s say my oai-pmh gem you can simply:
rake gems:freeze GEM=oai
and the gem will be unpacked in vendor, and the $LOAD_PATH for your application will automatically include the library path for the new gem. Very useful, thanks Rick!