当使用系统时,rbenv破坏了我的宝石安装目录

时间:2013-02-18 00:55:59

标签: ruby macos rbenv

我想使用rbenv在每个项目的基础上为项目设置ruby版本。否则,我想使用我的默认系统ruby设置来完成其他任务。

我遇到的问题是即使rbenv version返回systemgem命令仍然使用rbenv shim(.rbenv/shims/gem)。所以当我gem environment时,我的安装目录是'/Library/Ruby/Gems/1.8'。我宁愿它仍然是~/.gem/。当我运行/usr/bin/gem enviroment时,我仍然可以看到它。我无法弄清楚rbenv垫片宝石的设置来自哪里。

我已经尝试在我的shell中修改我的GEM_HOME,并在~/.gemrc中更改它但是没有效果。我一直在寻找没有运气。希望有人可以提供帮助。只是一些指向rbenv gem垫片从中拉出其值的指针会有所帮助。

感谢

1 个答案:

答案 0 :(得分:4)

由于你的PATH中的rbenv填充程序非常高,它们的目的是拦截rubygem等类似的任何调用,即使当前选择的Ruby版本是“system”。你不应该担心这一点。

现在,系统Ruby的默认安装路径始终为/Library/Ruby/Gems/1.8。这是我的RBENV_VERSION=system gem env

  - GEM PATHS:
     - /Library/Ruby/Gems/1.8
     - /Users/mislav/.gem/ruby/1.8
     - /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8

但是,如果您使用sudo(您不应该),gem install将无法对该目录具有写入权限,并将安装下一个可写路径中的宝石,~/.gem/ruby/1.8。这似乎是你想要的行为。