rails portable instal how deploy ruby-on-rails ruby heroku sqlite3

ruby on rails - portable - HEROKU-no puede ejecutar git push heroku master



how to deploy rails api in heroku (7)

Esta pregunta ya tiene una respuesta aquí:

Yo ejecuto comandos

heroku create --stack cedar git push heroku master

pero me dio un error:

> Counting objects: 144, done. Delta compression using up to 2 threads. > Compressing objects: 100% (128/128), done. Writing objects: 100% > (144/144), 50.16 KiB, done. Total 144 (delta 23), reused 0 (delta 0) > > -----> Heroku receiving push > -----> Ruby/Rails app detected > -----> Installing dependencies using Bundler version 1.1.rc > Running: bundle install --without development:test --path vendor/bundle --deployment > Fetching gem metadata from http://rubygems.org/....... > Installing rake (0.9.2.2) > Installing multi_json (1.0.3) > Installing activesupport (3.1.1) > Installing builder (3.0.0) > Installing i18n (0.6.0) > Installing activemodel (3.1.1) > Installing erubis (2.7.0) > Installing rack (1.3.5) > Installing rack-cache (1.1) > Installing rack-mount (0.8.3) > Installing rack-test (0.6.1) > Installing hike (1.2.1) > Installing tilt (1.3.3) > Installing sprockets (2.0.3) > Installing actionpack (3.1.1) > Installing mime-types (1.17.2) > Installing polyglot (0.3.2) > Installing treetop (1.4.10) > Installing mail (2.3.0) > Installing actionmailer (3.1.1) > Installing arel (2.2.1) > Installing tzinfo (0.3.30) > Installing activerecord (3.1.1) > Installing activeresource (3.1.1) > Installing coffee-script-source (1.1.2) > Installing execjs (1.2.9) > Installing coffee-script (2.2.0) > Installing rack-ssl (1.3.2) > Installing json (1.6.1) with native extensions > Installing rdoc (3.11) > Installing thor (0.14.6) > Installing railties (3.1.1) > Installing coffee-rails (3.1.1) > Installing jquery-rails (1.0.16) > Installing pg (0.11.0) with native extensions > Using bundler (1.1.rc) > Installing rails (3.1.1) > Installing sass (3.1.10) > Installing sass-rails (3.1.4) > **Installing sqlite3 (1.3.4) with native extensions Unfortunately, a fatal error has occurred. Please report this error to > the Bundler issue tracker at > https://github.com/carlhuda/bundler/issues so that we can fix it. > Thanks!** > /usr/local/lib/ruby/1.9.1/rubygems/installer.rb:483:in `rescue in block in build_extensions'': ERROR: Failed to build gem native > extension. (Gem::Installer::ExtensionBuildError) > /usr/local/bin/ruby extconf.rb > checking for sqlite3.h... no > sqlite3.h is missing. Try ''port install sqlite3 +universal'' > or ''yum install sqlite3-devel'' and check your shared library search path (the > location where your sqlite3 shared 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_272b7nu18wwh5/vendor/bundle/ruby/1.9.1/gems/sqlite3-1.3.4 > for inspection. > Results logged to /tmp/build_272b7nu18wwh5/vendor/bundle/ruby/1.9.1/gems/sqlite3-1.3.4/ext/sqlite3/gem_make.out > from /usr/local/lib/ruby/1.9.1/rubygems/installer.rb:486:in `block in build_extensions'' > from /usr/local/lib/ruby/1.9.1/rubygems/installer.rb:446:in `each'' > from /usr/local/lib/ruby/1.9.1/rubygems/installer.rb:446:in `build_extensions'' > from /usr/local/lib/ruby/1.9.1/rubygems/installer.rb:198:in `install'' > from /tmp/build_272b7nu18wwh5/vendor/bundle/ruby/1.9.1/gems/bundler-1.1.rc/lib/bundler/source.rb:90:in > `block in install'' > from /tmp/build_272b7nu18wwh5/vendor/bundle/ruby/1.9.1/gems/bundler-1.1.rc/lib/bundler/rubygems_integration.rb:78:in > `preserve_paths'' > from /tmp/build_272b7nu18wwh5/vendor/bundle/ruby/1.9.1/gems/bundler-1.1.rc/lib/bundler/source.rb:89:in > `install'' > from /tmp/build_272b7nu18wwh5/vendor/bundle/ruby/1.9.1/gems/bundler-1.1.rc/lib/bundler/installer.rb:73:in > `block in install_gem_from_spec'' > from /tmp/build_272b7nu18wwh5/vendor/bundle/ruby/1.9.1/gems/bundler-1.1.rc/lib/bundler/rubygems_integration.rb:93:in > `with_build_args'' > from /tmp/build_272b7nu18wwh5/vendor/bundle/ruby/1.9.1/gems/bundler-1.1.rc/lib/bundler/installer.rb:72:in > `install_gem_from_spec'' > from /tmp/build_272b7nu18wwh5/vendor/bundle/ruby/1.9.1/gems/bundler-1.1.rc/lib/bundler/installer.rb:56:in > `block in run'' > from /tmp/build_272b7nu18wwh5/vendor/bundle/ruby/1.9.1/gems/bundler-1.1.rc/lib/bundler/installer.rb:55:in > `run'' > from /tmp/build_272b7nu18wwh5/vendor/bundle/ruby/1.9.1/gems/bundler-1.1.rc/lib/bundler/installer.rb:12:in > `install'' > from /tmp/build_272b7nu18wwh5/vendor/bundle/ruby/1.9.1/gems/bundler-1.1.rc/lib/bundler/cli.rb:219:in > `install'' > from /tmp/build_272b7nu18wwh5/vendor/bundle/ruby/1.9.1/gems/bundler-1.1.rc/lib/bundler/vendor/thor/task.rb:22:in > `run'' > from /tmp/build_272b7nu18wwh5/vendor/bundle/ruby/1.9.1/gems/bundler-1.1.rc/lib/bundler/vendor/thor/invocation.rb:118:in `invoke_task'' > from /tmp/build_272b7nu18wwh5/vendor/bundle/ruby/1.9.1/gems/bundler-1.1.rc/lib/bundler/vendor/thor.rb:263:in > `dispatch'' > from /tmp/build_272b7nu18wwh5/vendor/bundle/ruby/1.9.1/gems/bundler-1.1.rc/lib/bundler/vendor/thor/base.rb:386:in > `start'' > from /tmp/build_272b7nu18wwh5/vendor/bundle/ruby/1.9.1/gems/bundler-1.1.rc/bin/bundle:13:in > `<top (required)>'' > from vendor/bundle/ruby/1.9.1/bin/bundle:19:in `load'' > from vendor/bundle/ruby/1.9.1/bin/bundle:19:in `<main>'' ! ! Failed to install gems via Bundler. ! ! Heroku push rejected, > failed to compile Ruby/rails app > > To [email protected]:falling-ice-5948.git ! [remote rejected] master -> > master (pre-receive hook declined) error: failed to push some refs to > ''[email protected]:falling-ice-5948.git''

EDITAR : esta publicación podría ser de gran ayuda: error de instalación de sqlite3-ruby


¡Esto es lo que funcionó para mí después de un día de probar cada solución prescrita en los numerosos foros! En primer lugar, si está utilizando el libro Tutorial de Rails o en línea, debe pasar a la segunda versión (hay una versión beta en línea en http://ruby.railstutorial.org/ ).

Abre tu editor y agrega las líneas a tu Gemfile:

group :production do gem ''pg'', ''0.12.2'' end group :development do gem ''sqlite3'', ''1.3.4'' end

Ahora también debe enviar su nuevo Gemfile editado a Heroku para que los siguientes pasos estén en orden.

git add Gemfile git commit -m "Put Sqlite3 into development in the Gemfile" git push heroku master


Agregue esto a su Gemfile,

group :production do gem ''pg'' end group :development, :test do gem ''sqlite3'' end

luego haz un bundle luego repunte a heroku. No puede usar sqlite3 en Heroku, que es la causa del error.


Hay una sintaxis ligeramente diferente que puede usar para resolver este problema:

gem ''pg'', group: :production gem ''sqlite3'', group: :development


Seguí estas instrucciones, pero en mi caso tuve que agregar el archivo actualizado Gemfile.lock al control de versiones. Entonces, utilicé la bandera -a para "todos" para agregar tanto el archivo Gemfile como el archivo Gemfile.lock.

git commit -am "Ponga Sqlite3 en desarrollo en el Gemfile y agregue el Gemfile.lock actualizado"
git push heroku master


Si aún no funciona para usted después de aplicar las instrucciones de tibbon y animuson (me ha pasado), intente comentar la línea "gema sqlite3" en Gemfile, luego agregue-comprometa-presione nuevamente.


Si sigues teniendo el problema después de eliminar sqlite3 del Gemfile (o hacerlo solo de desarrollo) es que no has vuelto a actualizar el archivo a los ojos de Heroku porque depende de Git.

Muy simple:

git add Gemfile git commit -m "Removed sqlite3 from Gemfile" git push heroku master

Me golpeé la cabeza contra esto por un tiempo antes de darme cuenta de que los cambios no estaban "tomando" porque en realidad no los había comprometido con Heroku.


Si tiene una referencia a:

# Use sqlite3 as the database for Active Record gem ''sqlite3''

en su Gemfile, asegúrese de comentarlo o reemplazarlo con el código sugerido anteriormente. De lo contrario, si esto sigue así, igual se encontrará con el mismo error.