2013-01-11 150 views
0

所以Heroku上有困难使用命令时捆绑我的应用程序: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 [email protected]:app_name.git 
! [remote rejected] master -> master (pre-receive hook declined) 
error: failed to push some refs to '[email protected]: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' 

关于如何解决此错误的任何提示将非常感激。

+0

'heroku logs'会提供更多关于错误的细节。 – gabrielhilal

+0

这是我可以从日志 '2013-01-11T11:21:15 + 00:00 heroku [slugc]检索到的唯一信息:团状编译失败:未能编译Ruby/rails应用程序 – akonny

回答

2

生产小组中缺少您的Gemfile:

group :production do 
    gem 'pg' 
end 

Heroku的不支持sqlite,这样你就可以在您的Gemfile的obove。
但是,我建议您也使用postgresql(pg)进行开发。它将避免遇到应用程序中的不兼容问题。

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

+1

添加'gem'薄' ''生产'组中,这也是完美的。 –

2

如果您在heroku上有另一个工作栏项目,请尝试将gemset或简单的Gemfile复制到您当前的项目中,并在该Gemfile中添加项目特定的宝石,并尝试使其以这种方式工作。希望你能解决这个问题

+1

Heroku使用瘦他们的网络服务器,可能是问题,我不能在你的Gemfile中看到它 –