【问题标题】:Can chruby and chgems replace rvm's gemset?chruby 和 chgems 可以替代 rvm 的 gemset 吗?
【发布时间】:2013-06-17 14:57:07
【问题描述】:

我目前在我的开发机器上使用rvm 在 rubies(主要是 1.9.x 和 1.8.7)之间切换。然后我遇到了chruby,发现“不钩cd”功能很有吸引力。

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

之前:

$ rvm 1.8.7

将为我的旧 Rails 项目切换到 ruby​​ 1.8.7 和 1.8.7 的一组 gem。并且:

$ rvm 1.9.3

将为我的新 Rails 项目切换到 ruby​​ 1.9.3 和 1.9.3 的一组 gem。

chrubychgems 如何做到这一点?

【问题讨论】:

    标签: ruby macos rvm chruby


    【解决方案1】:

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

    在我的.bashrc 文件中:

    source /usr/local/share/chruby/chruby.sh
    chruby ruby-2.0.0-p195
    

    源代码行是 Chruby 的 configuration 的一部分。

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

    在我的.bash_profile

    source /usr/local/share/chruby/auto.sh
    

    这一行设置了 Chruby 中的Auto-switching 功能。

    我还有一些项目使用 Ruby 1.9.3,所以对于这些应用程序,我在应用程序的根目录中有一个 .ruby-version 文件。一行ruby-1.9.3


    当您 cd 进入应用程序的目录时,键入 chgems 然后您可以捆绑安装等等。您可以通过输入gem env 来确认一切正常

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


    我已经将它们一起使用了几个月,并且非常喜欢这种组合,是的,据我所知,Chgems 在复制 RVM 的 gemset 功能方面做得很好。我强烈建议您阅读ChrubyChgems 项目的文档,因为这都涵盖了。在您的情况下,您可能不想设置默认 Ruby,而只需使用 .ruby-version 为每个应用程序设置它。

    【讨论】:

    • 在 6 月 24 日更新了我的回答,以反映 Chruby 0.3.6 发布带来的变化。
    • 也可以使用github.com/tonchis/gst chruby 比 chgems 效果更好
    • 一文不值:chgems 已被gem_home 弃用。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-04
    • 2012-03-07
    • 1970-01-01
    相关资源
    最近更新 更多