I have some trouble here. I am working with a Rails 2.3 project (working on the production server through ssh - don\'t ask why). Here is the Gemfile. When delayed_jobs is t
To install foo gem to a specified folder, just use --install-dir
option, i.e.
$ gem install --install-dir /path/to/gems/folder foo
It helps when:
bundle install
- e.g. if one wants to install bundle gem itself, or wants to install a gem (which is not listed in Gemfile) into the bundle foldersudo gem install
command fails due to lack of write-permissions for a default installation pathHope that helps.
The environment variable GEM_HOME
defines the gem installation location. You need to set it to desired location. The command is OS specific.
In Windows it is set
set GEM_HOME=[path]/projects/shared/gems/ruby/1.8/gems
Linux would be export
export GEM_HOME=~/projects/shared/gems/ruby/1.8/gems
bundler accepts a --path option.
bundle install --path vendor/bundle
You can add the following to your config.ru file:
ENV['GEM_HOME']="#{ENV['HOME']}/projects/shared/gems/ruby/1.8/gems"
ENV['GEM_PATH']="#{ENV['GEM_HOME']}:/var/lib/ruby/gems/1.8"
require 'rubygems'
Gem.clear_paths
This will tell your rack app where to look for gems.
Also configure your server .bashrc:
export GEM_HOME="$HOME/projects/shared/gems/ruby/1.8/gems"
export GEM_PATH="$GEM_HOME:/var/lib/ruby/gems/1.8"