2016-02-29 64 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 

解決同樣的問題

相關問題