0

因此,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' 

任何有关如何解决此错误的提示将不胜感激。

4

2 回答 2

2

您的 gemfile 中缺少生产组:

 group :production do
   gem 'pg'
 end

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

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

于 2013-01-11T13:16:22.527 回答
2

If you have another working rails project on heroku try to copy the gemset or simply the Gemfile to your current project and add project specific gems in that Gemfile and try to get it working that way. Hope you get it solved

于 2013-01-11T13:56:01.907 回答