2012-12-22 15 views
5

Sono nuovo di Sinatra e sto cercando di creare un database utilizzando SQLite3 e Datamapper. Ho installato sia gemme e anche l'adattatore e poi cercato di eseguire questo codice in un file:Errore DataMapper SQLite durante la creazione di un nuovo database

#config 
require 'sinatra' 
require 'sinatra/contrib' if development? 
require 'data_mapper' 

DataMapper::setup(:default, "sqlite3://#{Dir.pwd}/recall.db") 
DataMapper.finalize.auto_upgrade! 

La riga di comando mi ha dato questo errore quando ho eseguito il file:

C:/Ruby193/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require':126: The specified module could not be found. - 
C:/Ruby193/lib/ruby/gems/1.9.1/gems/do_sqlite3-0.10.10-x86-mingw32/lib/do_sqlite3/1.9/do_sqlite3.so (LoadError) 

e poi un sacco di altre cose che sono andate male a causa di questi errori. Ho provato a reinstallare molte delle gemme ma nulla sembra aver funzionato.

EDIT: Il codice di errore completo è stato questo:

C:/Ruby193/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require':126: The specified module could not be found. - C:/Ruby193/lib/ruby/gems/1.9.1/gems/do_sqlite3-0.10.10-x86-mingw32/lib/do_sqlite3/1.9/do_sqlite3.so (LoadError) 
from C:/Ruby193/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require' 
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/backports-2.6.5/lib/backports/tools.rb:314:in `require_with_backports' 
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/do_sqlite3-0.10.10-x86-mingw32/lib/do_sqlite3.rb:31:in `rescue in <top (required)>' 
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/do_sqlite3-0.10.10-x86-mingw32/lib/do_sqlite3.rb:26:in `<top (required)>' 
from C:/Ruby193/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require' 
from C:/Ruby193/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require' 
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/backports-2.6.5/lib/backports/tools.rb:314:in `require_with_backports' 
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/dm-sqlite-adapter-1.2.0/lib/dm-sqlite-adapter/adapter.rb:1:in `<top (required)>' 
from C:/Ruby193/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require' 
from C:/Ruby193/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require' 
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/backports-2.6.5/lib/backports/tools.rb:314:in `require_with_backports' 
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/dm-sqlite-adapter-1.2.0/lib/dm-sqlite-adapter.rb:1:in `<top (required)>' 
from C:/Ruby193/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:60:in `require' 
from C:/Ruby193/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:60:in `rescue in require' 
from C:/Ruby193/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:35:in `require' 
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/backports-2.6.5/lib/backports/tools.rb:314:in `require_with_backports' 
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/dm-core-1.2.0/lib/dm-core/adapters.rb:163:in `load_adapter' 
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/dm-core-1.2.0/lib/dm-core/adapters.rb:133:in `adapter_class' 
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/dm-core-1.2.0/lib/dm-core/adapters.rb:13:in `new' 
from C:/Ruby193/lib/ruby/gems/1.9.1/gems/dm-core-1.2.0/lib/dm-core.rb:230:in `setup' 
from test.rb:7:in `<main>' 
+3

Hai provato a installare dm-sqlite-adattatore gemma? –

+1

Potete fornire lo stacktrace completo e il comando che avete usato? – mbj

+0

Ho già installato l'adattatore dm-sqlite. L'errore si verifica ancora. Il comando che ho usato era "ruby test.rb". Non sono sicuro di come posso trovare lo stacktrace. – Amja

risposta

2

Prova ad aggiungere:

require 'dm-sqlite-adapter' 

Se questo non risolve le cose, si potrebbe anche provare a cambiare

DataMapper::setup(:default, "sqlite3://#{Dir.pwd}/recall.db") 

a

DataMapper.setup(:default, 'sqlite:recall.db') 

e vedere se lo risolve. Non so davvero la causa, ma facendo quanto sopra (virgolette singole, niente "3" e nessun percorso) ho corretto un errore che stavo ricevendo quando provavo un particolare setup.

7

Ho avuto questo problema, utilizzando ruby ​​1.9.3 su Windows - risolto scaricando lo sqlite3.dll da http://www.sqlite.org/download.html e la messa in C: \ Ruby193 \ bin

+0

Link: http://www.sqlite.org/2014/sqlite-dll-win32-x86-3080500.zip –

Problemi correlati