Heroku捆绑错误

时间:2013-01-11 11:38:25

标签: ruby-on-rails heroku bundle bundler

因此,在使用命令时,heroku无法捆绑我的应用程序:

$ git push heroku master

本地捆绑时没问题

$ bundle update

我已经提交并添加了Gemfile和Gemfile.lock 知道为什么我会收到这个错误吗?

$ git push heroku master
Counting objects: 25, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (22/22), done.
Writing objects: 100% (22/22), 2.65 KiB, done.
Total 22 (delta 16), reused 0 (delta 0)

-----> Removing .DS_Store files
-----> Ruby/Rails app detected
-----> Using Ruby version: ruby-1.9.3
-----> Installing dependencies using Bundler version 1.3.0.pre.5
       Running: bundle install --without development:test --path vendor/bundle --binstubs vendor/bundle/bin
       Fetching gem metadata from https://rubygems.org/.......
       Fetching gem metadata from https://rubygems.org/..
/app/slug-compiler/lib/utils.rb:66:in `block (2 levels) in spawn': command='/app/slug-compiler/lib/../../tmp/buildpacks/ruby/bin/compile /tmp/build_2c5mcld95eb34 /app/tmp/repo.git/.cache' exit_status=0 out='' at=timeout elapsed=900.1125066280365 (Utils::TimeoutError)
    from /app/slug-compiler/lib/utils.rb:52:in `loop'
    from /app/slug-compiler/lib/utils.rb:52:in `block in spawn'
    from /app/slug-compiler/lib/utils.rb:47:in `popen'
    from /app/slug-compiler/lib/utils.rb:47:in `spawn'
    from /app/slug-compiler/lib/buildpack.rb:37:in `block in compile'
    from /app/slug-compiler/lib/buildpack.rb:35:in `fork'
    from /app/slug-compiler/lib/buildpack.rb:35:in `compile'
    from /app/slug-compiler/lib/slug.rb:497:in `block in run_buildpack'
    from /app/slug-compiler/lib/utils.rb:121:in `log'
    from /app/slug-compiler/lib/slug.rb:748:in `log'
    from /app/slug-compiler/lib/slug.rb:496:in `run_buildpack'
    from /app/slug-compiler/lib/slug.rb:125:in `block (2 levels) in compile'
    from /app/slug-compiler/lib/utils.rb:102:in `block in timeout'
    from /usr/local/lib/ruby/1.9.1/timeout.rb:58:in `timeout'
    from /app/slug-compiler/lib/utils.rb:102:in `rescue in timeout'
    from /app/slug-compiler/lib/utils.rb:97:in `timeout'
    from /app/slug-compiler/lib/slug.rb:114:in `block in compile'
    from /app/slug-compiler/lib/utils.rb:121:in `log'
    from /app/slug-compiler/lib/slug.rb:748:in `log'
    from /app/slug-compiler/lib/slug.rb:113:in `compile'
    from /app/slug-compiler/bin/slugc:85:in `block in <main>'
    from /app/slug-compiler/lib/slug.rb:505:in `block in lock'
    from /app/slug-compiler/lib/repo_lock.rb:44:in `call'
    from /app/slug-compiler/lib/repo_lock.rb:44:in `run'
    from /app/slug-compiler/lib/slug.rb:505:in `lock'
    from /app/slug-compiler/bin/slugc:66:in `<main>'
 !     Heroku push rejected, failed to compile Ruby/rails app

To git@heroku.com:app_name.git
 ! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'git@heroku.com:app_name.git'

这是我的宝石文件:

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

gem 'rails'
# Gems used only for assets and not required
# in production environments by default.
group :assets do
      gem 'less-rails-bootstrap'
      gem 'less-rails'
      gem 'less'
      gem 'therubyracer'
      gem 'jquery-ui-rails' 
      gem 'sass-rails',   '~> 3.2.3'
      gem 'coffee-rails', '~> 3.2.1'
      gem 'uglifier', '>= 1.0.3'
end

group :development, :test do
      gem 'rspec-rails'
      gem 'factory_girl_rails'
      gem 'sqlite3'
end

group :test do
      gem "email_spec"
      gem 'faker'
      gem 'capybara'
      gem 'guard-rspec'
      gem 'launchy'
end

# Allow æ,ø,å in strings
gem 'magic_encoding'

# Files uploading gem
gem 'carrierwave'

# Spreadsheet parser gem
gem 'roo'

# Calendar Event Export
gem 'icalendar'

# Authentication gems
gem 'devise'
gem 'devise_invitable'
gem "cancan"

# Calendar features
gem 'event-calendar', :require => 'event_calendar'
gem 'bootstrap-sass'
gem 'nested_form'
gem 'ransack'
gem 'bootstrap-datepicker-rails'
gem 'jquery-rails' 

非常感谢有关如何解决此错误的任何提示。

2 个答案:

答案 0 :(得分:2)

您的gemfile中缺少生产组:

 group :production do
   gem 'pg'
 end

Heroku不支持sqlite,因此您可以在您的gemfile中包含obove 但是,我建议您也使用postgresql(pg)进行开发。它可以避免在您的应用中遇到不兼容问题。

编辑 - 你还应该指定rails版本(gem'trail 3.2.11'),你可以删除ruby行(ruby'1.9.3')。

答案 1 :(得分:2)

如果你在heroku上有另一个工作轨道项目,试着将gemset或简单的Gemfile复制到你当前的项目中,并在该Gemfile中添加项目特定的gems并尝试以这种方式工作。希望你能解决它