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

Bru*_*uce 13 ruby environment gem

我安装rbenv并设置了红宝石和宝石.现在,如果我跑,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
Run Code Online (Sandbox Code Playgroud)

嗯..所有看起来都不错,除了SPEC CACHE DIRECTORY和GEM PATHS,所有其他人都有自我配置的路径.(所以,我真的不希望任何开发相关的目录直接放置在我的用户的个人文件夹.)有没有办法来灵活地更改这两个env variables在不影响正常运作ruby,gem并rbenv等?

谢谢!

Bru*_*uce 16

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

只需将以下内容放在.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
Run Code Online (Sandbox Code Playgroud)

确保您放置的文件夹存在.然后获取.profile或.bashrc,或者只是重新启动终端.它经过测试工作,现在我的环境是正确的.

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