如何从RVM配置文件中指定要在Heroku上使用的ruby版本

时间:2013-06-03 10:00:17

标签: ruby-on-rails heroku rvm gemfile

我希望在Heroku上运行我的应用程序时使用特定版本的ruby。

正如here所述,您只需在Gemfile中添加ruby "2.0.0"之类的行。

但是,当我在本地使用RVM时,我已经在项目的根目录中的.ruby-version文件中指定了ruby版本,该文件只包含行ruby-2.0.0-p0

为了避免代码重复,我希望只在一个地方指定版本,这样我才能确保在开发和Heroku中始终使用相同的版本。

有办法吗?

2 个答案:

答案 0 :(得分:6)

Gemfile是ruby代码,因此您可以编写一些ruby来读取.ruby-version中的版本并将该值传递给ruby方法,而不是硬编码的版本字符串

如果.ruby-version文件位于同一目录中,则此类内容应该起作用:

ruby File.read(".ruby-version").strip.split("-").first

例如,如果.ruby-version文件包含“1.9.3-p327”,那么该行将等同于:

ruby "1.9.3"

答案 1 :(得分:0)

不,您无法指定要在Heroku上使用的补丁级别 - 它们可以为您管理补丁级别。您需要跟踪其更改日志以了解修补程序级别何时更改。因此,您需要确保在本地使用相同的补丁级别,对于Ruby 2.0.0,它存在于p195。