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.
怎么能得到chruby
和chgems
?
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功能.我强烈建议您阅读Chruby和Chgems项目的文档,因为这些都包含在内.在您的情况下,您可能不想设置默认的Ruby,只需使用.ruby-version为每个应用程序设置它.