RVM 没有拾取 /etc/gemrc

RVM 没有拾取 /etc/gemrc

在系统范围的 RVM 中...这是我的 /etc/gemrc

---
gem:--no-ri --no-rdoc

这是系统gem env

 GEM PATHS:
     - /usr/lib/ruby/gems/1.9.1
     - /home/${USER}/.gem/ruby/1.9.1
    GEM CONFIGURATION:
         - :update_sources => true
         - :verbose => true
         - :benchmark => false
         - :backtrace => false
         - :bulk_threshold => 1000
         - "gem" => "--no-ri --no-rdoc"

这是 rvm 中的

GEM PATHS:
 - /usr/local/rvm/gems/ruby-1.9.2-p180
 - /usr/local/rvm/gems/ruby-1.9.2-p180@global
GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - :benchmark => false
     - :backtrace => false
     - :bulk_threshold => 1000

和 rvm@global

    GEM PATHS:
     - /usr/local/rvm/gems/ruby-1.9.2-p180
     - /usr/local/rvm/gems/ruby-1.9.2-p180@global
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - :benchmark => false
     - :backtrace => false
     - :bulk_threshold => 1000

为什么它没有拾取 gemrc 文件?

答案1

我也是。试试这个路径:

/usr/local/rvm/rubies/ruby-1.9.2-p180/etc/gemrc

获取路径:

$ irb
>> require 'etc'
>> Etc.sysconfdir 
 => "/usr/local/rvm/rubies/ruby-1.9.2-p180/etc" 

答案2

您需要--sysconfdir=/etc为编译的每个 ruby​​ 指定,您可以这样做:

rvm reinstall 1.9.3 -C --sysconfdir=/etc

当然,rubygems 中有一个错误,导致所有 1.8 ruby​​ 都使用/etc它,将会修复 https://github.com/rubygems/rubygems/pull/291

答案3

尝试将 gemrc 文件放在 /usr/local/etc - 所有自定义编译的 ruby​​ 都应该会选择它。

tee /usr/local/etc/gemrc <<EOF
gem: --no-ri --no-rdoc
EOF

答案4

这似乎与 1.9.2 有关,因为 rvm 安装的 1.8.7 正在获取 /etc/gemrc 文件,我最终将 ~/.gemrc 符号链接到 /etc/gemrc

相关内容