ruby - chruby 和 chgems 能代替 rvm 的 gemset 吗?

标签 ruby macos rvm chruby

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

chruby + chgems 能否替代rmv 的gemset 功能?

之前:

$ rvm 1.8.7

将为我的旧 Rails 项目切换到带有 1.8.7 gem 集的 ruby​​ 1.8.7。并且:

$ rvm 1.9.3

将为我的新 Rails 项目切换到带有 1.9.3 gem 集的 ruby​​ 1.9.3。

chrubychgems 如何实现?

最佳答案

由于我使用 Chruby 和 Chgems,所以我将尝试解决这个问题。我在 Mac OS X 上,并且通过 Homebrew 安装了 chruby。

在我的 .bashrc 文件中:

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

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

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

在我的 .bash_profile 中:

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

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

我还有一些使用 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 功能方面做得很好。我强烈建议您阅读 Chruby 的文档和 Chgems项目,因为这都涵盖了。在您的情况下,您可能不想设置默认的 Ruby,而只是使用 .ruby-version 为每个应用程序设置它。

关于ruby - chruby 和 chgems 能代替 rvm 的 gemset 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17150623/

相关文章:

ruby - 尝试递归问题(我第一次)

ios - 字符串资源 Xcode + swift

gem - 错误:执行 gem 时 ... (Gem::FilePermissionError)

macos - Applescript 使用登录 shell 运行 shell 脚本

ruby - rvm 组无法写入目录

ruby-on-rails - Rails 4 中的命名路由助手与数组

ruby - 单元测试文件 I/O 方法

ruby - 如何在 ruby​​ 1.8.7 中写入 "string".encode ("us-ascii")?

macOS Mojave 自定义动态壁纸

iphone - Xcode 4 : My iPhone projects have become Mac OS projects. 。我无法改变这个