Heroku - 迁移到Cedar 14&更新ruby版本

时间:2015-08-29 04:42:28

标签: ruby-on-rails ruby bash heroku

我正在尝试将我的heroku应用程序迁移到Cedar 14(在此之后:https://devcenter.heroku.com/articles/cedar-14-migration

我的问题是heroku认为我正在使用ruby v 2.1.1(我的机器在ruby 2.2.2上。这是由ruby -v和ruby(都返回2.2.2)确认的。

然而,当我尝试:

heroku run ruby -v

回报是:

Running `ruby -v` attached to terminal... up, run.4550
ruby 2.1.1p76 (2014-02-24 revision 45161) [x86_64-linux]

我无法弄清楚如何让heroku认识到ruby 2.2.2是应该使用的。它位于我的gem文件中,我将其设置为默认值,并将其设置在列表顶部的bash配置文件中。

因此,我无法在heroku上推送迁移,因为旧版本的ruby不支持迁移。我收到这个错误:

Only the most recent version of Ruby 2.1 is supported on Cedar-14
remote:  !     Command: 'set -o pipefail; curl --fail --retry 3 --retry-delay 1 --connect-timeout 3 --max-time 30 https://s3-external-1.amazonaws.com/heroku-buildpack-ruby/cedar-14/ruby-2.1.1.tgz -s -o - | tar zxf - ' failed unexpectedly:

有谁知道如何让heroku识别ruby v 2.2.2?

谢谢

2 个答案:

答案 0 :(得分:1)

您可以像这样添加所需的Ruby版本Gemfile

source 'https://rubygems.org'
ruby '2.2.3'

gem 'rails', '~> 4.2.4'
# ...

在他们的偏心中有一篇关于Specifying a Ruby Version的文章。

答案 1 :(得分:0)

我在我的gem文件中更新了我的ruby版本,并更新了我的路径并设置了默认值。我安装了所有宝石,但我没有更新我的宝石。 Gem update为我解决了这个问题。