<RubyGems> 如何更改gem环境设置?

19

我安装了 rbenv 并设置了 ruby 和 gems。现在如果我运行 gem env,我会得到以下结果:

RubyGems Environment:
  - RUBYGEMS VERSION: 2.2.2
  - RUBY VERSION: 2.1.0 (2013-12-25 patchlevel 0) [x86_64-darwin13.0]
  - INSTALLATION DIRECTORY: /Users/myusername/Tools/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0
  - RUBY EXECUTABLE: /Users/myusername/Tools/.rbenv/versions/2.1.0/bin/ruby
  - EXECUTABLE DIRECTORY: /Users/myusername/Tools/.rbenv/versions/2.1.0/bin
  - SPEC CACHE DIRECTORY: /Users/myusername/.gem/specs
  - RUBYGEMS PLATFORMS:
    - ruby
    - x86_64-darwin-13
  - GEM PATHS:
     - /Users/myusername/Tools/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0
     - /Users/myusername/.gem/ruby/2.1.0
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - :backtrace => false
     - :bulk_threshold => 1000
  - REMOTE SOURCES:
     - https://rubygems.org/
  - SHELL PATH:
     - /Users/myusername/Tools/.rbenv/versions/2.1.0/bin
     - /Users/myusername/Tools/.rbenv/libexec
     - /Users/myusername/Tools/.rbenv/plugins/ruby-build/bin
     - /opt/local/bin
     - /opt/local/sbin
     - /Users/myusername/Tools/.rbenv/shims
     - /usr/bin
     - /bin
     - /usr/sbin
     - /sbin
     - /usr/local/bin
     - /Users/myusername/Tools/./bin
     - /Users/myusername/Tools/.rbenv/bin

嗯..除了SPEC CACHE DIRECTORYGEM PATHS外,其他都有自己配置的路径。(所以我真的不希望任何与开发相关的目录直接放在我的用户主文件夹中。) 有没有办法灵活地更改这两个环境变量,而不影响rubygemrbenv的正常运行呢?

谢谢!

1个回答

21

实际上我在网上搜索并找到了解决方案。

只需将以下内容放入您的 .profile(Max OS)或 .bashrc(Linux)中即可:

export GEM_PATH=/Users/myusername/Tools/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0
export GEM_SPEC_CACHE=/Users/myusername/Tools/.rbenv/versions/2.1.0/lib/ruby/gems/specs

确保你放置的文件夹存在。然后源化.profile或.bashrc,或者简单地重新启动终端。测试工作正常,我的环境是正确的。

参考: https://github.com/rubygems/rubygems/pull/489


1
同样的环境变量名称也适用于Windows - 我已经验证过了。 - velocirabbit
这是错误的,因为它将为通过 rbenv 配置的所有 Ruby 版本设置这些值。 - konsolebox

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接