捆绑程序 1.2.0 ruby 版本检查是否消除了对基本 .rvmrc 文件的需求



Bundler 1.2.0.pre 包含一个新的"ruby"DSL 选项。 根据 Heroku 的文档,他们使用这种新的 Gemfile 语法来控制在推送应用程序时使用哪个 ruby 版本。

作为预发布版本,新 Bundler 选项的文档目前相当薄弱,Bundler 1.2 路线图只是将其列为"Ruby 版本检查"。

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

鉴于我微不足道的 RVM 配置,Bundler DSL 中的新"ruby"选项是否意味着我不再需要指定 .rvmrc 文件? 还是它们是两回事?

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

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

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

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

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

2) #ruby=1.9.3-p125 - 当您想使用 Ruby 代码进行ruby或想要指定补丁级别或 Gemset 时的评论!

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

将允许捆绑器使用 RVM 加载的任何 ruby,但默认情况下将使用 #ruby= 中的 1.9.3

最新更新