RVM 最佳实践指出,要将项目连接到特定的 Ruby 版本,您应该在项目特定的文件中指定该版本rvmrc
。
这个 SO answer指出,在大多数情况下,您应该在.ruby-version
文件中指定 Ruby 版本。
Heroku 说你应该在Gemfile
.
如果应用程序将部署在 Heroku 上,使用 RVM 指定 Ruby 版本的正确方法是什么?
.rvmrc
已弃用,您应该.ruby-version
改用。
但是 Heroku 并不关注.ruby-version
. Heroku 想把它放在Gemfile
. 所以我认为你应该同时使用:(.ruby-version
为你)和Gemfile
(为 Heroku)。
为了 Heroku 的缘故,您需要将它放在 Gemfile 中,但是如果您使用的是版本管理器,那么为了版本管理器,您需要使用其他东西。我认为 SO 答案在这方面是有意义的(即.ruby-version
文件)。
检查https://rvm.io/workflow/projects - 它说您可以使用Gemfile
为 RVM 指定 ruby 版本,如下所示:
ruby "1.9.3"
或更复杂的东西:
ruby File.readlines(".ruby-version").first.strip
然后在.ruby-version
:
1.9.3
这样它也可以与chruby等其他 ruby 环境管理器一起使用