【问题标题】:Deploying to Heroku using rails Error使用 rails 部署到 Heroku 错误
【发布时间】:2018-05-08 00:19:19
【问题描述】:

我正在按照 Michael Hartl 的 rails 教程进行操作,并尝试将某些东西部署到 Heroku。一切顺利,直到我运行

    git push heroku master

当我收到此错误时。

Counting objects: 211, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (189/189), done.
Writing objects: 100% (211/211), 36.50 KiB | 0 bytes/s, done.
Total 211 (delta 78), reused 0 (delta 0)
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-2.0.0-p648.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-2.0.0-p648.tgz -s -o - | tar zxf - ' failed on attempt 2 of 3.
remote:  !
remote:  !     An error occurred while installing ruby-2.0.0-p648
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-2.0.0-p648.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 secret-escarpment-31638.
remote: 
To https://git.heroku.com/secret-escarpment-31638.git
 ! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'https://git.heroku.com/secret-escarpment-31638.git'

我猜这是由于 heroku 无法运行 ruby​​ 2.0.0,但我检查了他们的文档,发现 2.0.0 在 heroku 上仍然有效。这是链接https://devcenter.heroku.com/articles/ruby-support#supported-runtimes

我使用的是 Rails 4.0.8 和 Ruby 2.0.0

宝石文件

source 'https://rubygems.org'
ruby '2.0.0'
#ruby-gemset=railstutorial_rails_4_0
gem 'rails', '4.0.8'
gem 'bootstrap-sass', '2.3.2.0'
gem 'sprockets', '2.11.0'
group :development, :test do
  gem 'sqlite3', '1.3.8'
  gem 'rspec-rails', '2.13.1'
end
group :test do
  gem 'selenium-webdriver', '2.35.1'
  gem 'capybara', '2.1.0'
# Uncomment this line on OS X.
# gem 'growl', '1.0.3'
# Uncomment these lines on Linux.
# gem 'libnotify', '0.8.0'
# Uncomment these lines on Windows.
# gem 'rb-notifu', '0.0.4'
# gem 'wdm', '0.1.0'
end
gem 'sass-rails', '4.0.3'
gem 'uglifier', '2.1.1'
gem 'coffee-rails', '4.0.1'
gem 'jquery-rails', '3.0.4'
gem 'turbolinks', '1.1.1'
gem 'jbuilder', '1.0.2'
group :doc do
  gem 'sdoc', '0.3.20', require: false
end
group :production do
  gem 'pg', '0.15.1'
  gem 'rails_12factor', '0.0.2'
end

提前致谢

【问题讨论】:

  • 根据日志,这不是你的错 - 他们的 ruby​​ 构建包有问题。您是否就这个问题征求过他们的支持?

标签: ruby-on-rails ruby heroku


【解决方案1】:

由于是测试站点,你可以在你的 Gemfile 中评论 ruby​​ 版本,然后提交并推送到 heroku

【讨论】:

    【解决方案2】:

    在 Gemfile 中评论 ruby '2.0.0' 并推送到 heroku。

    【讨论】:

      【解决方案3】:

      Heroku 不支持 Ruby 2.0.0。就像它在错误中所说的那样,您可以找到哪些 ruby​​ 运行时工作 here

      【讨论】:

        猜你喜欢
        • 2011-09-07
        • 2016-07-03
        • 1970-01-01
        • 1970-01-01
        • 2013-05-25
        • 2014-06-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多