Meta: Implementar una aplicación sencilla prueba con Sinatra Postgres + + + DataMapper Herokudesplegar una aplicación sencilla prueba con Sinatra + + DataMapper Postgres + Heroku devuelve: Instalación do_sqlite3 (0.10.7) de error
Edición : Cuando uso gem 'dm-postgres-adapter' gem 'dm-sqlite-adapter' para enviar la aplicación a Heroku obtengo esto. Instalación de do_sqlite3 (0.10.7) con extensiones nativas Desafortunadamente, se ha producido un error fatal. Informe este error al rastreador de problemas de Bundler al https://github.com/carlhuda/bundler/issues para que podamos solucionarlo. ¡Gracias!
He visitado el enlace de github y alguien tuvo el mismo problema pero es dirigido a Heroku, https://github.com/carlhuda/bundler/issues/1488. He enviado un correo electrónico a la lista de correo de Heroku y estoy esperando una respuesta.
me encontré con LoadError: no such file to load -- dm-sqlite-adapter
por lo que añade que en el Gemfile y Gemfile.lock y esto es por lo que nunca puede conseguir
he tratado de instalar y configurar localmente Postgres, pero eso es nuevo conjunto de dolores que estoy aprendiendo poco a poco pero todavía no puedo trabajar.
También he leído todas y cada una de las preguntas aquí con un problema similar, algunos me han progresado hasta este punto y algunos no tienen respuestas del autor de la pregunta y lo dejan en un misterio.
Gemfile
-----------------
source :rubygems
gem 'sinatra', '1.1.0'
gem 'thin', '1.2.7'
gem 'data_mapper'
gem 'dm-postgres-adapter'
gem 'dm-sqlite-adapter'
Gemfile.lock
------------------------
...
dm-sqlite-adapter (1.2.0)
dm-do-adapter (~> 1.2.0)
do_sqlite3 (~> 0.10.6)
...
Procfile
--------------------
web: bundle exec ruby recall.rb -p $PORT
Recall.rb
---------------------
require 'rubygems'
require 'sinatra'
require 'data_mapper'
DataMapper.setup(:default, ENV['DATABASE_URL'] || "sqlite3://#{Dir.pwd}/recall.db")
class Note
include DataMapper::Resource
property :id, Serial
property :content, Text, :required => true
property :complete, Boolean, :required => true, :default => 0
property :created_at, DateTime
property :updated_at, DateTime
end
DataMapper.auto_upgrade!
get '/' do
@notes = Note.all :order => :id.desc
@title = 'All Notes'
erb :home
end
Notas
-------------------------
10.7 Lion
Xcode 4 is installed
sqlite3 installed by Homebrew
~ which sqlite3
/usr/bin/sqlite3
~ gem list sql
sqlite3 (1.3.5)
sqlite3-ruby (1.3.3)
~ gem list do_sqlite3
do_sqlite3 (0.10.7)
~ brew info sqlite3
sqlite 3.7.9
http//sqlite.org/
Depends on: readline
/usr/local/Cellar/sqlite/3.7.9 (9 files, 1.9M)
http//github.com/mxcl/homebrew/commits/master/Library/Formula/sqlite.rb
registro de errores
------------------------------
~ rubyfish2 git:(master) git push heroku master
Counting objects: 22, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (14/14), done.
Writing objects: 100% (15/15), 2.42 KiB, done.
Total 15 (delta 8), reused 0 (delta 0)
-----> Heroku receiving push
-----> Removing .DS_Store files
-----> Ruby app detected
-----> Installing dependencies using Bundler version 1.1.rc.7
Running: bundle install --without development:test --path vendor/bundle --binstubs bin/ --deployment
Fetching gem metadata from http//rubygems.org/.........
Using addressable (2.2.6)
Using bcrypt-ruby (3.0.1)
Using daemons (1.1.5)
Using dm-core (1.2.0)
Using dm-aggregates (1.2.0)
Using dm-constraints (1.2.0)
Using dm-migrations (1.2.0)
Using fastercsv (1.5.4)
Using json (1.6.4)
Using json_pure (1.6.4)
Using multi_json (1.0.4)
Using dm-serializer (1.2.1)
Using dm-timestamps (1.2.0)
Using dm-transactions (1.2.0)
Using stringex (1.3.0)
Using uuidtools (2.1.2)
Using dm-types (1.2.1)
Using dm-validations (1.2.0)
Using data_mapper (1.2.0)
Using data_objects (0.10.7)
Using dm-do-adapter (1.2.0)
Using do_postgres (0.10.7)
Using dm-postgres-adapter (1.2.0)
Installing do_sqlite3 (0.10.7) 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
*** 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
Gem files will remain installed in /tmp/build_1ikvsvr378qb6/vendor/bundle/ruby/1.9.1/gems/do_sqlite3-0.10.7 for inspection.
Results logged to /tmp/build_1ikvsvr378qb6/vendor/bundle/ruby/1.9.1/gems/do_sqlite3-0.10.7/ext/do_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_1ikvsvr378qb6/vendor/bundle/ruby/1.9.1/gems/bundler-1.1.rc.7/lib/bundler/source.rb:90:in `block in install'
from /tmp/build_1ikvsvr378qb6/vendor/bundle/ruby/1.9.1/gems/bundler-1.1.rc.7/lib/bundler/rubygems_integration.rb:82:in `preserve_paths'
from /tmp/build_1ikvsvr378qb6/vendor/bundle/ruby/1.9.1/gems/bundler-1.1.rc.7/lib/bundler/source.rb:89:in `install'
from /tmp/build_1ikvsvr378qb6/vendor/bundle/ruby/1.9.1/gems/bundler-1.1.rc.7/lib/bundler/installer.rb:73:in `block in install_gem_from_spec'
from /tmp/build_1ikvsvr378qb6/vendor/bundle/ruby/1.9.1/gems/bundler-1.1.rc.7/lib/bundler/rubygems_integration.rb:97:in `with_build_args'
from /tmp/build_1ikvsvr378qb6/vendor/bundle/ruby/1.9.1/gems/bundler-1.1.rc.7/lib/bundler/installer.rb:72:in `install_gem_from_spec'
from /tmp/build_1ikvsvr378qb6/vendor/bundle/ruby/1.9.1/gems/bundler-1.1.rc.7/lib/bundler/installer.rb:56:in `block in run'
from /tmp/build_1ikvsvr378qb6/vendor/bundle/ruby/1.9.1/gems/bundler-1.1.rc.7/lib/bundler/installer.rb:55:in `run'
from /tmp/build_1ikvsvr378qb6/vendor/bundle/ruby/1.9.1/gems/bundler-1.1.rc.7/lib/bundler/installer.rb:12:in `install'
from /tmp/build_1ikvsvr378qb6/vendor/bundle/ruby/1.9.1/gems/bundler-1.1.rc.7/lib/bundler/cli.rb:220:in `install'
from /tmp/build_1ikvsvr378qb6/vendor/bundle/ruby/1.9.1/gems/bundler-1.1.rc.7/lib/bundler/vendor/thor/task.rb:22:in `run'
from /tmp/build_1ikvsvr378qb6/vendor/bundle/ruby/1.9.1/gems/bundler-1.1.rc.7/lib/bundler/vendor/thor/invocation.rb:118:in `invoke_task'
from /tmp/build_1ikvsvr378qb6/vendor/bundle/ruby/1.9.1/gems/bundler-1.1.rc.7/lib/bundler/vendor/thor.rb:263:in `dispatch'
from /tmp/build_1ikvsvr378qb6/vendor/bundle/ruby/1.9.1/gems/bundler-1.1.rc.7/lib/bundler/vendor/thor/base.rb:386:in `start'
from /tmp/build_1ikvsvr378qb6/vendor/bundle/ruby/1.9.1/gems/bundler-1.1.rc.7/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 app
¿Intentó eliminar la gema sqlite? No se instalará en Heroku porque sqlite no está instalado en heroku. No lo necesita para producción (heroku). – mscccc