setup postgres guide create attach sqlite heroku ruby-on-rails-3.1 bundler

postgres - Heroku está intentando instalar la gema sqlite3 aunque no esté en el Gemfile



heroku postgres guide (4)

Cuando me encontré con el problema, resultó que había olvidado confirmar mis cambios después de la bundle install . Doh! git status debe indicar cambios sin etapas para los archivos gema.

Estoy tratando de implementar una aplicación Rails 3.1 por primera vez en Heroku. Lo puse en la pila de cedros, eliminé la gema sqlite3 pero cuando presiono el código para Heroku obtengo este error:

-----> Instalación de dependencias usando Bundler versión 1.1.rc En ejecución: instalación de paquete --sin desarrollo: prueba - proveedor / paquete de ruta - implementación - Obtención de metadatos de gemas desde http://rubygems.org/ ... .. (...)

Instalación de rieles (3.1.0) Instalación de sqlite3 (1.3.4) con extensiones nativas Desafortunadamente, se ha producido un error fatal. Informe este error al rastreador de problemas de Bundler en https://github.com/carlhuda/bundler/issues para que podamos solucionarlo. ¡Gracias! /usr/local/lib/ruby/1.9.1/rubygems/installer.rb:483:in `rescate en bloque en build_extensions '': ERROR: No se pudo construir la extensión nativa de la gema. (Gem :: Installer :: ExtensionBuildError) / usr / local / bin / ruby ​​extconf.rb buscando sqlite3.h ... no

No tengo idea de por qué la instalación de paquetes está intentando instalar sqlite3. Echa un vistazo a mi Gemfile y Gemfile.lock:

Gemfile

source ''http://rubygems.org'' gem ''rails'', ''3.1.0'' gem ''json'' gem ''pg'' gem ''thin'' # Gems used only for assets and not required # in production environments by default. group :assets do # gem ''sass-rails'', " ~> 3.1.0" # gem ''coffee-rails'', "~> 3.1.0" gem ''uglifier'' end gem ''jquery-rails''

Gemfile.lock

GEM remote: http://rubygems.org/ specs: actionmailer (3.1.0) actionpack (= 3.1.0) mail (~> 2.3.0) actionpack (3.1.0) activemodel (= 3.1.0) activesupport (= 3.1.0) builder (~> 3.0.0) erubis (~> 2.7.0) i18n (~> 0.6) rack (~> 1.3.2) rack-cache (~> 1.0.3) rack-mount (~> 0.8.2) rack-test (~> 0.6.1) sprockets (~> 2.0.0) activemodel (3.1.0) activesupport (= 3.1.0) bcrypt-ruby (~> 3.0.0) builder (~> 3.0.0) i18n (~> 0.6) activerecord (3.1.0) activemodel (= 3.1.0) activesupport (= 3.1.0) arel (~> 2.2.1) tzinfo (~> 0.3.29) activeresource (3.1.0) activemodel (= 3.1.0) activesupport (= 3.1.0) activesupport (3.1.0) multi_json (~> 1.0) arel (2.2.1) bcrypt-ruby (3.0.1) builder (3.0.0) daemons (1.1.4) erubis (2.7.0) eventmachine (0.12.10) execjs (1.2.9) multi_json (~> 1.0) hike (1.2.1) i18n (0.6.0) jquery-rails (1.0.14) railties (~> 3.0) thor (~> 0.14) json (1.6.1) mail (2.3.0) i18n (>= 0.4.0) mime-types (~> 1.16) treetop (~> 1.4.8) mime-types (1.16) multi_json (1.0.3) pg (0.11.0) polyglot (0.3.2) rack (1.3.3) rack-cache (1.0.3) rack (>= 0.4) rack-mount (0.8.3) rack (>= 1.0.0) rack-ssl (1.3.2) rack rack-test (0.6.1) rack (>= 1.0) rails (3.1.0) actionmailer (= 3.1.0) actionpack (= 3.1.0) activerecord (= 3.1.0) activeresource (= 3.1.0) activesupport (= 3.1.0) bundler (~> 1.0) railties (= 3.1.0) railties (3.1.0) actionpack (= 3.1.0) activesupport (= 3.1.0) rack-ssl (~> 1.3.2) rake (>= 0.8.7) rdoc (~> 3.4) thor (~> 0.14.6) rake (0.9.2) rdoc (3.9.4) sprockets (2.0.0) hike (~> 1.2) rack (~> 1.0) tilt (~> 1.1, != 1.3.0) thin (1.2.11) daemons (>= 1.0.9) eventmachine (>= 0.12.6) rack (>= 1.0.0) thor (0.14.6) tilt (1.3.3) treetop (1.4.10) polyglot polyglot (>= 0.3.1) tzinfo (0.3.29) uglifier (1.0.3) execjs (>= 0.3.0) multi_json (>= 1.0.2) PLATFORMS ruby DEPENDENCIES jquery-rails json pg rails (= 3.1.0) thin uglifier

¿Cómo puedo arreglarlo?


Solución simple sin desinstalar la gema sqlite3 para Heroku:

Añadir a Gemfile:

group :production do gem ''pg'', ''0.17.1'' #or version of pg you want gem ''rails_12factor'', ''0.0.2'' #Heroku static assets for image and css

Comprueba que tienes:

end end

al final del código en Gemfile

que Guarde Gemfile y ejecute bundle install

$ bundle install --without production

que cometer

$ git commit -a -m "Update Gemfile.lock for Heroku"

que

$ git push heroku master

Eso es todo. Solo recibirá algunas advertencias que es simplemente para corregir.


Tengo el mismo problema y la solución de zoltarSpeaks lo solucionó. Después de leer este artículo, instalé la gema de grifos que indicaba que sería necesario para pasar de un sqlite3 local a postgresql de producción: http://batsov.com/articles/2011/10/30/deploying-rails31-apps-on-celadon-cedar/ . Resultó que no necesitaba la gema de grifos después de todo, pero era claramente el problema. Eliminado la referencia, actualización de paquete, todos los sistemas van.


intente eliminar Gemfile.lock y ejecute Bundle Install, commit y push