我正在尝试将我的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?
谢谢
答案 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为我解决了这个问题。