Specify gem installation directory

后端 未结 4 700
温柔的废话
温柔的废话 2020-12-28 13:54

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

相关标签:
4条回答
  • 2020-12-28 14:13

    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:

    • one cannot use 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 folder
    • sudo gem install command fails due to lack of write-permissions for a default installation path

    Hope that helps.

    0 讨论(0)
  • 2020-12-28 14:22

    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
    
    0 讨论(0)
  • 2020-12-28 14:22

    bundler accepts a --path option.

    bundle install --path vendor/bundle
    
    0 讨论(0)
  • 2020-12-28 14:36

    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"
    
    0 讨论(0)
提交回复
热议问题