Whenever I do bundle install
all of the gems get installed at
app_dir/vendor/bundle
path and consumes loads of disk space. I also tried installing gems where it should get installed i.e gemsets while development by this:
bundle install --no-deployement
but this isn't working for me and installeing gems at vendor/bundle
. How can I make it to be installed globally for all applications or in ruby gemsets location ? I also tried removing .bundle/config
but nothing changed.
I am using:
rvm version: 1.23.14
ruby version: 2.0.0-p247
rails 3.2.13
Here is my ~/.bash_profile
:
export PATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin
eval "$(rbenv init -)"
alias pg='pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log'
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a shell session *as a function*
[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # Load RVM function
My ~/.bashrc
:
PATH=$PATH:$HOME/.rvm/bin # Add RVM to PATH for scripting
Some other information that you might need:
aman@Amandeeps-MacBook-Pro ~/Projects/qe (develop)*$ which bundle
/Users/aman/.rvm/gems/ruby-2.0.0-p247@global/bin/bundle
aman@Amandeeps-MacBook-Pro ~/Projects/qe (develop)*$ rbenv which bundle
/Users/aman/.rbenv/versions/2.0.0-p247/bin/bundle
amandeep@Amandeeps-MacBook-Pro ~/Projects/qe (develop)*$ rbenv which ruby
/Users/aman/.rbenv/versions/2.0.0-p247/bin/ruby
aman@Amandeeps-MacBook-Pro ~/Projects/qe (develop)*$ rbenv gemset active
rbenv: NO such command `gemset'
aman@Amandeeps-MacBook-Pro ~/Projects/qe (develop)*$ which rails
/Users/aman/.rvm/gems/ruby-2.0.0-p247@global/bin/rails
I tried this also but didn't helped:
bundle install --system
and removing .bundle
directory.
Please help me in installing gems in gemsets not vendor/bundle
or a default place.
In your project folder you will have
.bundle
directory that holds configuration forbundler
. try deleting that folder. it should reset the install path for your gems back to system-wide settings.In the case you just want to edit the install path, opening
.bundle/config
with your favorite editor should show you the path tovendor/bundle
. Removing that line will restore it to defaults without removing other configs you might have.Also, another less frequent scenario is your system-wide settings being messed up. According to @NaoiseGolden:
To Install Gem in system wide avoiding path vendor/bundle, just run the following command in project directory
Use
bundle env
to view paths and bundle configurationAfter this set bundle path to
~/.rvm/gems/ruby-2.0.0-p247
like this:which is global and also you can use your own custom path.
Post this
bundle install
will never needpath
again and will always install all of your gems in thatdirectory(~/.rvm/gems/ruby-2.0.0-p247 in my case
) for that app not inapp_folder/vendor/bundle
First of all, acording to your info, it seems that you have installed both rvm and rbenv. Thats a very bad idea. You have to delete one of them (rbenv + bundler works like a charm for me, didnt try rvm).
In regard to your question check
.bundle/config
in your project, as all the configuration for bundle to that project lies there (if its still deleted, you can create a new one). You migh want to add this line (or change it, if its already there):BUNDLE_DISABLE_SHARED_GEMS: '0'
for sharing gems, they go where yourBUNDLE_PATH:
is set (BUNDLE_PATH: vendor
in my case).For the global configuration file look in
~/.bundle/config
Also this man page could be of use: bundle config
Try installing using
I think initially the bundle install was run with
--path
flag and bundler now rememebers that confguration.From the bundler man page
EDIT: As mentioned in comments below, and also otherwise, this installs the gems system wide. In case you are using rvm etc to manage your environment for different apps, check @IuriG's answer mentioned above.
Try running
bundle env
. This will tell you where the path configuration is set.