我想使用rbenv在每个项目的基础上为项目设置ruby版本。否则,我想使用我的默认系统ruby设置来完成其他任务。
我遇到的问题是即使rbenv version
返回system
,gem
命令仍然使用rbenv shim(.rbenv/shims/gem
)。所以当我gem environment
时,我的安装目录是'/Library/Ruby/Gems/1.8'
。我宁愿它仍然是~/.gem/
。当我运行/usr/bin/gem enviroment
时,我仍然可以看到它。我无法弄清楚rbenv垫片宝石的设置来自哪里。
我已经尝试在我的shell中修改我的GEM_HOME,并在~/.gemrc
中更改它但是没有效果。我一直在寻找没有运气。希望有人可以提供帮助。只是一些指向rbenv gem垫片从中拉出其值的指针会有所帮助。
感谢
答案 0 :(得分:4)
由于你的PATH中的rbenv填充程序非常高,它们的目的是拦截ruby
,gem
等类似的任何调用,即使当前选择的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
。这似乎是你想要的行为。