即使我将应用程序升级到2.5.1后,Heroku仍然愿意安装Ruby 1.9.3

时间:2018-05-18 19:56:44

标签: ruby-on-rails ruby heroku deployment

我刚从Heroky升级了一个旧应用程序,在轨道上运行ruby。我将ruby 1.9.3升级到2.5.1并将3.2升级到5.2.0。

然后我在Heroku上创建了一个新的应用程序并尝试部署,但我不断收到一条错误消息,说Heroku无法安装1.9.3。

以下是错误日志:

remote: Compressing source files... done.
remote: Building source:
remote:
remote: -----> Ruby app detected
remote: -----> Compiling Ruby/Rails
remote:        Command: 'set -o pipefail; curl -L --fail --retry 5 --retry-delay 1 --connect-timeout 3 --max-time 30 https://s3-external-1.amazonaws.com/heroku-buildpack-ruby/heroku-16/ruby-1.9.3-p551.tgz -s -o - | tar zxf - ' failed on attempt 1 of 3.
remote:        Command: 'set -o pipefail; curl -L --fail --retry 5 --retry-delay 1 --connect-timeout 3 --max-time 30 https://s3-external-1.amazonaws.com/heroku-buildpack-ruby/heroku-16/ruby-1.9.3-p551.tgz -s -o - | tar zxf - ' failed on attempt 2 of 3.
remote:  !
remote:  !     An error occurred while installing ruby-1.9.3-p551
remote:  !
remote:  !     Heroku recommends you use the latest supported Ruby version listed here:
remote:  !     https://devcenter.heroku.com/articles/ruby-support#supported-runtimes
remote:  !
remote:  !     For more information on syntax for declaring a Ruby version see:
remote:  !     https://devcenter.heroku.com/articles/ruby-versions
remote:  !
remote:  !
remote:  !     Debug InformationCommand: 'set -o pipefail; curl -L --fail --retry 5 --retry-delay 1 --connect-timeout 3 --max-time 30 https://s3-external-1.amazonaws.com/heroku-buildpack-ruby/heroku-16/ruby-1.9.3-p551.tgz -s -o - | tar zxf - ' failed unexpectedly:
remote:  !
remote:  !     gzip: stdin: unexpected end of file
remote:  !     tar: Child returned status 1
remote:  !     tar: Error is not recoverable: exiting now
remote:  !
remote:  !     Push rejected, failed to compile Ruby app.
remote:
remote:  !     Push failed
remote: Verifying deploy...
remote:
remote: !   Push rejected to nbmen-staging.
remote:
To https://git.heroku.com/nbmen-staging.git
 ! [remote rejected] master -> master (pre-receive hook declined)

在我的Gemfile中,我有:

source 'https://rubygems.org'
ruby '2.5.1'
gem 'rails', '5.2.0'

在Gemfile.lock中,我有:     红宝石版        红宝石2.5.1p57

BUNDLED WITH
   1.16.1

还有.rbenv-version文件,我将内容从1.9.3更改为2.5.1。

我仍然得到"安装ruby-1.9.3-p551&#34时发生错误信息。我错过了什么?

2 个答案:

答案 0 :(得分:1)

好像你可能有一个旧的/未发布的heroku buildpack,因为你的版本中没有输出bundler版本(因此你可能正在使用一个旧的bulder版本)。

我希望看到的是:

-----> Ruby app detected
-----> Compiling Ruby/Rails
-----> Using Ruby version: ruby-2.5.1
-----> Installing dependencies using bundler 1.15.2
...

检查buildpack:

$ heroku buildpacks
=> heroku/ruby

如果它没有输出heroku/ruby,那么你正在运行一个旧的/未发布的buildpack

安装最新的buildpack:

heroku buildpacks:set heroku/ruby

有关详细信息:https://devcenter.heroku.com/articles/bundler-version

答案 1 :(得分:0)

Ruby版本文件现在称为.rbenv-version

您拥有的文件名为laravel/framework/src/Illuminate/Http/UploadedFile.php 。这是一个旧名称,不再受支持了。

您可以尝试重命名。