¿Qué le pasa a Bundler trabajando con RubyGems para enviar un repo de Git a Heroku?

Me he asegurado de que todos los files estén en la raíz del repository como se recomienda en esta discusión . Sin embargo, como sigo las instrucciones en esta sección del libro , no puedo pasar por la sección sin los problemas. ¿Qué crees que está pasando con mi sistema que está causando el error? No tengo ni idea en el momento de lo que significa el problema a pesar de leer lo siguiente en el logging. ¡Gracias de antemano por tu ayuda!

stanley@ubuntu:~/rails_sample/first_app$ git push heroku master Warning: Permanently added the RSA host key for IP address '50.19.85.156' to the list of known hosts. Counting objects: 96, done. Compressing objects: 100% (79/79), done. Writing objects: 100% (96/96), 28.81 KiB, done. Total 96 (delta 22), reused 0 (delta 0) -----> Heroku receiving push -----> Ruby/Rails app detected -----> Installing dependencies using Bundler version 1.2.0.pre Running: bundle install --without development:test --path vendor/bundle --binstubs bin/ --deployment Fetching gem metadata from https://rubygems.org/....... Installing rake (0.9.2.2) Installing i18n (0.6.0) Installing multi_json (1.3.5) Installing activesupport (3.2.3) Installing builder (3.0.0) Installing activemodel (3.2.3) Installing erubis (2.7.0) Installing journey (1.0.3) Installing rack (1.4.1) Installing rack-cache (1.2) Installing rack-test (0.6.1) Installing hike (1.2.1) Installing tilt (1.3.3) Installing sprockets (2.1.3) Installing actionpack (3.2.3) Installing mime-types (1.18) Installing polyglot (0.3.3) Installing treetop (1.4.10) Installing mail (2.4.4) Installing actionmailer (3.2.3) Installing arel (3.0.2) Installing tzinfo (0.3.33) Installing activerecord (3.2.3) Installing activeresource (3.2.3) Installing coffee-script-source (1.3.3) Installing execjs (1.3.2) Installing coffee-script (2.2.0) Installing rack-ssl (1.3.2) Installing json (1.7.3) with native extensions Installing rdoc (3.12) Installing thor (0.14.6) Installing railties (3.2.3) Installing coffee-rails (3.2.2) Installing jquery-rails (2.0.2) Using bundler (1.2.0.pre) Installing rails (3.2.3) Installing sass (3.1.18) Installing sass-rails (3.2.5) Installing sqlite3 (1.3.6) with native extensions Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension. /usr/local/bin/ruby extconf.rb checking for sqlite3.h... no sqlite3.h is missing. Try 'port install sqlite3 +universal' or 'yum install sqlite-devel' and check your shanetworking library search path (the location where your sqlite3 shanetworking library is located). *** extconf.rb failed *** Could not create Makefile due to some reason, probably lack of necessary libraries and/or headers. Check the mkmf.log file for more details. You may need configuration options. Provided configuration options: --with-opt-dir --without-opt-dir --with-opt-include --without-opt-include=${opt-dir}/include --with-opt-lib --without-opt-lib=${opt-dir}/lib --with-make-prog --without-make-prog --srcdir=. --curdir --ruby=/usr/local/bin/ruby --with-sqlite3-dir --without-sqlite3-dir --with-sqlite3-include --without-sqlite3-include=${sqlite3-dir}/include --with-sqlite3-lib --without-sqlite3-lib=${sqlite3-dir}/lib --enable-local --disable-local Gem files will remain installed in /tmp/build_3tplrxvj7qa81/vendor/bundle/ruby/1.9.1/gems/sqlite3-1.3.6 for inspection. Results logged to /tmp/build_3tplrxvj7qa81/vendor/bundle/ruby/1.9.1/gems/sqlite3-1.3.6/ext/sqlite3/gem_make.out An error occurnetworking while installing sqlite3 (1.3.6), and Bundler cannot continue. Make sure that `gem install sqlite3 -v '1.3.6'` succeeds before bundling. ! ! Failed to install gems via Bundler. ! ! Heroku push rejected, failed to compile Ruby/rails app To git@heroku.com:growing-mountain-2788.git ! [remote rejected] master -> master (pre-receive hook declined) error: failed to push some refs to 'git@heroku.com:growing-mountain-2788.git' 

—— Gemfile ————————

Según lo solicitado, aquí está el file gem generado automáticamente:

 source 'https://rubygems.org' gem 'rails', '3.2.3' # Bundle edge Rails instead: # gem 'rails', :git => 'git://github.com/rails/rails.git' gem 'sqlite3' gem 'json' # Gems used only for assets and not requinetworking # in production environments by default. group :assets do gem 'sass-rails', '~> 3.2.3' gem 'coffee-rails', '~> 3.2.1' # See https://github.com/sstephenson/execjs#readme for more supported runtimes # gem 'therubyracer', :platform => :ruby gem 'uglifier', '>= 1.0.3' end gem 'jquery-rails' # To use ActiveModel has_secure_password # gem 'bcrypt-ruby', '~> 3.0.0' # To use Jbuilder templates for JSON # gem 'jbuilder' # Use unicorn as the app server # gem 'unicorn' # Deploy with Capistrano # gem 'capistrano' # To use debugger # gem 'ruby-debug' 

Heroku intenta usar postgres automáticamente. (Lo bueno, ya que sqlite NO es adecuado para prosuction) Los scripts sqlite son compatibles con postgres, por lo que no se requiere ningún cambio.

Haz esto en tu Gemfile:

 gem "sqlite3", :groups => [:development, :test] gem "pg", groups => [:production] 

Tenga en count que puede haber diferencias de comportamiento entre sqlite y postgres. Se recomienda encarecidamente usar postgres en su entorno de desarrollo

ver https://devcenter.heroku.com/articles/how-do-i-use-sqlite3-for-development

El problema es que faltan files de encabezados a sqlite3 en el server y gem no puede build la extensión. ¿Necesitas sqlite? Intente eliminarlo de Gemfile o, si esto es posible, instale el package sqlite3-dev en el server.

Tuve el mismo problema, el problema desapareció cuando completé mi inserción en GitHub.

Necesitaba completar este paso:

 $ git remote add origin ... $ git push -u origin master 

Después de eso empujó al heroku sin ningún problema.

Reemplaza la gem SQLite con la gem pg de postgres. Heroku usa Postgres y no necesita SQLite en modo de producción de todos modos.

Reemplaza sqlite en tu Gemfile con 'gem pg'

Heroku usa PostgreSQL, no SQLite. Siga estas instrucciones para resolver su problema https://devcenter.heroku.com/articles/rails3