What does it mean BUNDLE_DISABLE_SHARED_GEMS: '

2019-03-23 05:22发布

问题:

I found BUNDLE_DISABLE_SHARED_GEMS: '1', in .bundle/config. What does it mean?

回答1:

Bundler takes some settings from the ~/.bundle/config file -- not from the shell env.

When set to true (default), the install of all gems will be to BUNDLE_PATH, regardless of whether those gems are installed in your system.

Bundler will not install gems already in system gems by default, so this is especially useful if you're trying to package up an application with all dependencies unpacked.

Check also:

http://www.atentia.net/2013/08/fun-with-bundle/



回答2:

That means that a "bundle install" will always install the gems into a local directory (defaults to .bundle), and use those, instead of system-wide installed gems.



回答3:

I will say this much, I commented out BUNDLE_DISABLE_SHARED_GEMS: '1' on my system, and this prevented passenger standalone from serving a page, yielding an error starting with: "It looks like Bundler could not find a gem."

I am running all my gems except passenger in a locally bundled gemset.