I’m using Subversion and Capistrano to deploy my rails app. Part of the organization is to put all of the bundled gems in a “shared” folder, so that the app doesn’t have to carry them around and install them all every time I deploy.
Usually they go under /shared/bundle/, and then there are the different folders (gems, specifications, etc.). However, for some reason, when I run bundle install, they are getting installed to /shared/bundle/ruby/1.8.
Some extra information: When I run bundle install, the “success” line reads:
Your bundle is complete! It was installed into /home/shared/bundle
No mention of the extra folders, but the only folder bundle contains is the ruby directory.
Output of bundle config:
frozen
Set for your local app (/home/myapp/current/.bundle/config): "1"
disable_shared_gems
Set for your local app (/home/myapp/current/.bundle/config): "1"
without
Set for your local app (/home/myapp/current/.bundle/config): "development:test"
path
Set for your local app (/home/myapp/current/.bundle/config): "/home/myapp/shared/bundle"
I don’t see anything about /ruby/1.8 anywhere. What might I be missing? Of course I can just set the bundler path to /shared/bundle/ruby/1.8, but I don’t like to cheat.
Thanks.
Bundler “scopes” its install into this folder based on Ruby engine and version.
https://github.com/carlhuda/bundler/blob/3431d6d/lib/bundler/settings.rb#L78:
Bundler.ruby_scopeis defined at https://github.com/carlhuda/bundler/blob/3431d6d/lib/bundler.rb#L141-143: