"Sqlite3.h" faltando ao empurrar o aplicativo Rails para Heroku
estou seguindoeste tutorial, mas falha quando tento empurrar para Heroku. Parece que "sqlite3.h" está faltando. Eu sou novo no desenvolvimento, então não tenho certeza de quais informações irão ajudar as pessoas a diagnosticar o problema, então aqui está tudo :). Estou rodando no Mac OS X 10.7 Lion. Aqui estão as versões de tudo com que estou trabalhando:
<code>Amits-MacBook-Air-2:demo_app amitgupta$ ruby -v ruby 1.9.3p194 (2012-04-20 revision 35410) [x86_64-darwin11.3.0] Amits-MacBook-Air-2:demo_app amitgupta$ rails -v Rails 3.2.3 Amits-MacBook-Air-2:demo_app amitgupta$ sqlite3 -version 3.7.11 2012-03-20 11:35:50 00bb9c9ce4f465e6ac321ced2a9d0062dc364669 Amits-MacBook-Air-2:demo_app amitgupta$ heroku -v 2.25.0 Amits-MacBook-Air-2:demo_app amitgupta$ port -v MacPorts 2.0.4 Entering interactive mode... ("help" for help, "quit" to quit) [RailsApps/demo_app] > quit Goodbye </code>
Quando tento empurrar para o Heroku:
<code>Amits-MacBook-Air-2:demo_app amitgupta$ heroku create --stack cedar Creating floating-stream-8009... done, stack is cedar http://floating-stream-8009.herokuapp.com/ | [email protected]:floating-stream-8009.git Amits-MacBook-Air-2:demo_app amitgupta$ git push heroku master </code>
Aqui está o que eu recebo:
<code>Counting objects: 119, done. Delta compression using up to 4 threads. Compressing objects: 100% (104/104), done. Writing objects: 100% (119/119), 33.74 KiB, done. Total 119 (delta 17), reused 0 (delta 0) -----> Heroku receiving push -----> Ruby/Rails app detected -----> Installing dependencies using Bundler version 1.1.2 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 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 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 . . . --disable-local Gem files will remain installed in /tmp/build_2l2dn7bx7lu34/vendor/bundle/ruby/1.9.1/gems/sqlite3-1.3.6 for inspection. Results logged to /tmp/build_2l2dn7bx7lu34/vendor/bundle/ruby/1.9.1/gems/sqlite3-1.3.6/ext/sqlite3/gem_make.out An error occured 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 [email protected]:blazing-mountain-3659.git ! [remote rejected] master -> master (pre-receive hook declined) error: failed to push some refs to '[email protected]:blazing-mountain-3659.git' </code>
Quando eu faço:
<code>Amits-MacBook-Air-2:demo_app amitgupta$ sudo port install sqlite3 +universal </code>
Eu recebo:
<code>Password: ---> Computing dependencies for sqlite3 ---> Cleaning sqlite3 </code>
Em seguida eu tentei:
<code>Amits-MacBook-Air-2:demo_app amitgupta$ sudo gem install sqlite3 -v '1.3.6' </code>
E pegue:
<code>Building native extensions. This could take a while... Successfully installed sqlite3-1.3.6 1 gem installed Installing ri documentation for sqlite3-1.3.6... Installing RDoc documentation for sqlite3-1.3.6... </code>
Então:
<code>Amits-MacBook-Air-2:demo_app amitgupta$ bundle install </code>
dá:
<code>Using rake (0.9.2.2) . . . Using sqlite3 (1.3.6) Using uglifier (1.2.4) Your bundle is complete! Use `bundle show [gemname]` to see where a bundled gem is installed. </code>
Então eu tento empurrar para Heroku novamente, mas obtenho o mesmo problema. Talvez tenha algo a ver com a discrepância entre o primeiro comando "Creating floating-stream-8009" e o segundo comando "não conseguiu empurrar alguns refs para '[email protected]: blazing-mountain-3659.git'"?