Bundler 1.2.0 ruby​​版本检查是否可以避免使用基本的.rvmrc文件?

时间:2012-05-28 00:46:51

标签: ruby rvm bundler

Bundler 1.2.0.pre包含一个新的“ruby”DSL选项。根据{{​​3}},他们使用这种新的Gemfile语法来控制推送应用程序时使用的ruby版本。

预发布时,新Bundler选项的文档目前还很薄,而Heroku's documentation只是将其列为“ruby版本检查”。

我的问题是:目前我在大多数项目中使用单行.rvmrc文件,其中我只为该项目指定了ruby版本(例如。rvm ruby-1.9.3)。我不使用RVM gemsets或其他任何东西(我更喜欢在项目中提供所有必需的gem,让Bundler管理依赖项)。

鉴于我的琐碎RVM配置,Bundler的DSL中的新“ruby”选项是否意味着我不再需要指定.rvmrc文件?或者他们是两个不同的东西?

(我确实喜欢RVM在我进入我的项目时自动切换ruby版本的事实......不确定Bundler是否会这样做,或者它是否仅在当前版本不匹配时发出警告?)

1 个答案:

答案 0 :(得分:0)

新的ruby是一个函数,它将允许最终计算为字符串的任何内容。

不幸的是,在阅读它之后,您需要使用bundler命令,假设您已经拥有红宝石。

相反,RVM为您提供了两种在Gemfile中定义ruby的方法:

1)ruby "1.9.3" - 简单字符串

2)#ruby=1.9.3-p125 - 当您想要为ruby使用ruby代码或者想要指定patchlevel或gemset时注释!:

#ruby=1.9.3
ruby ENV['RUBY_VERSION'] || '1.9.3'

允许bundler使用RVM加载的任何ruby,但默认情况下将使用#ruby=

中的 1.9.3