使用RVM在Rails应用程序中指定Ruby版本的正确方法是什么?它将部署在Heroku上?

时间:2013-09-13 15:29:44

标签: ruby heroku rvm

RVM Best Practices表示,要将项目连接到特定的Ruby版本,您应该在项目特定的rvmrc文件中指定该版本。

This SO answer指出,在大多数情况下,您应该使用.ruby-version文件中的Ruby版本。

Heroku says您应该在Gemfile中指定Ruby版本。

如果应用程序将部署在Heroku上,使用RVM指定Ruby版本的正确方法是什么?

3 个答案:

答案 0 :(得分:4)

不推荐使用

.rvmrc,而应使用.ruby-version

但是Heroku没有注意.ruby-version。 Heroku希望在Gemfile中拥有它。所以我认为你应该同时使用:.ruby-version(适合你)和Gemfile(适用于Heroku)。

答案 1 :(得分:2)

为了Heroku的缘故,你需要将它放在Gemfile中,但是如果你使用的是版本管理器,那么你需要为版本管理器使用其他东西。我认为在这方面SO答案是有道理的(即.ruby-version文件)。

答案 2 :(得分:1)

检查https://rvm.io/workflow/projects - 它表示您可以使用Gemfile为RVM指定ruby版本,如下所示:

ruby "1.9.3"

或更复杂的事情:

ruby File.readlines(".ruby-version").first.strip

然后在.ruby-version

1.9.3

这样它也可以与其他ruby环境管理器一起使用,例如chruby