chruby和chgems可以取代rvm的gemset吗?

ohh*_*hho 9 ruby macos rvm chruby

我目前正在rvm我的开发机器上使用红宝石之间的切换(主要是1.9.x和1.8.7).然后我遇到了chruby发现"不挂钩cd"功能的吸引力.

可以chruby+ chgems替换rmv的gemset功能吗?

之前:

$ rvm 1.8.7
Run Code Online (Sandbox Code Playgroud)

将为我的旧导轨项目使用1.8.7宝石切换到ruby 1.8.7.和:

$ rvm 1.9.3
Run Code Online (Sandbox Code Playgroud)

将为我的新rails项目使用1.9.3宝石切换到ruby 1.9.3.

怎么能得到chrubychgems

mem*_*oht 10

因为我使用了Chruby和Chgems,所以我会试着解决这个问题.我在Mac OS X上,我通过Homebrew安装了chruby.

在我的.bashrc档案中:

source /usr/local/share/chruby/chruby.sh
chruby ruby-2.0.0-p195
Run Code Online (Sandbox Code Playgroud)

源代码行是Chruby 的配置的一部分.

第二行为我的系统设置了Ruby 的默认版本(在我的例子中是Ruby 2.0.0).注意:从Chruby 0.3.6开始,这属于.bashrc而不是.bash_profile.

在我的.bash_profile:

source /usr/local/share/chruby/auto.sh
Run Code Online (Sandbox Code Playgroud)

此行在Chruby中设置自动切换功能.

我仍然有一些项目使用Ruby 1.9.3所以对于那些应用程序,我.ruby-version在应用程序的根目录中有一个文件.有一条线ruby-1.9.3


当您进入应用程序的目录时,键入chgems然后您可以捆绑安装,而不是.您可以通过输入确认工作正常gem env

为了让我的生活更轻松,我添加了.bash_aliases例如: alias myapp='cd ~/Sites/myapp && chgems'


我已经在一起使用这些已经好几个月了,真的很喜欢这个组合,是的,我可以告诉Chgems很好地复制了RVM的gemset功能.我强烈建议您阅读ChrubyChgems项目的文档,因为这些都包含在内.在您的情况下,您可能不想设置默认的Ruby,只需使用.ruby-version为每个应用程序设置它.

  • 值得一提:chgems已经被弃用了[gem_home](https://github.com/postmodern/gem_home#readme). (2认同)