2016-02-29 104 views
4

Michael Hartl的Ruby on Rails Tutorial使用Gemfile,但未指定Ruby版本:ruby关键字在所有应用程序中均缺失。Gemfile中的Ruby版本

当我部署到Heroku的我收到以下警告:

remote: ###### WARNING: 
remote:  You have not declared a Ruby version in your Gemfile. 
remote:  To set your Ruby version add this line to your Gemfile: 
remote:  ruby '2.2.4' 
remote:  # See https://devcenter.heroku.com/articles/ruby-versions for more information. 

The tutorial says说:“与包括这样一个明确的Ruby版本号大于(忽略不计)的好处,所以你应该忽略这个警告的相关费用目前主要的问题是保持示例应用程序和系统与最新的Ruby版本同步可能会造成巨大的不便“。

我想知道是否在Heroku中保持Ruby版本的速度(现在大概是2.2.4),正如本书似乎表明的那样,或者是指定任何适合我的Ruby版本。换句话说,因为我在为我的应用程序使用Ruby 2.2.1p85,所以添加ruby "2.2.1", :patchlevel => "85"会起作用,并使Heroku适应此版本,或者我应该调整到Heroku并按照建议添加ruby '2.2.4'

我正在使用rvm以及特定的Ruby版本的特定gemset,除了尽量使用尽可能接近教程的环境以外没有任何其他原因。真实情况下的最佳实践是什么?你会建议使用最后的Ruby版本并将其包含在Gemfile中吗? Gemfile可以不用担心Ruby版本吗?

回答

4

请按照下列步骤来解决 您可以检查哪些ruby版本是联想与您的应用程序通过命令

heroku run "ruby -v"

这是好事,有ruby默认版本,这是2.2.4为了解决您的问题。如果您的ruby版本比2.2.4旧,请升级它。

检查/升级版本后您可以在应用的Gemfile中使用ruby关键字来指定特定版本的Ruby。

source "https://rubygems.org" 
ruby "2.2.4" 

您将需要再次安装并

$ gem install bundler 
$ bundle update 
0

此命令更新捆绑:

heroku run rake db:migrate 

解决同样的问题

相关问题