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

Dan*_*tic 3 ruby-on-rails heroku rvm gemfile

我想在Heroku上运行我的应用程序时使用特定版本的ruby.

正如解释在这里,你只需要添加一行ruby "2.0.0"在你的Gemfile.

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

为了避免代码重复,我希望只在一个地方指定版本,以便我确信在开发和Heroku中总是使用相同的版本.

有没有办法做到这一点 ?

Ric*_*her 6

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

如果.ruby-version文件在同一目录中,这样的东西应该工作:

ruby File.read(".ruby-version").strip.split("-").first
Run Code Online (Sandbox Code Playgroud)

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

ruby "1.9.3"
Run Code Online (Sandbox Code Playgroud)