2012-12-22 12 views
5

Jestem nowy w firmie Sinatra i próbuję utworzyć bazę danych za pomocą SQLite3 i Datamapper. Zainstalowałem oba kamienie, a także adapter, a następnie próbował wykonać ten kod w pliku:Błąd DataMapper SQLite podczas tworzenia nowej bazy danych

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

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

Linia komend dał mi ten błąd, gdy wykonywany plik:

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) 

i wtedy dużo innych rzeczy, które poszło nie tak z powodu tych błędów. Próbowałem przeinstalować wiele klejnotów, ale nic nie zadziałało.

EDIT: Pełny kod błędu było to:

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

Próbowałeś zainstalować DM-sqlite-adapter klejnot? –

+1

Czy możesz podać pełny stacktrace i użyte polecenie? – mbj

+0

Mam już zainstalowany adapter dm-sqlite. Błąd nadal występuje. Polecenie, którego użyłem, to "ruby test.rb". Nie jestem pewien, jak mogę znaleźć stacktrace. – Amja

Odpowiedz

2

spróbuj dodać:

require 'dm-sqlite-adapter' 

Jeśli to nie rozwiąże sprawy, można również spróbować zmienić

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

to

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

i sprawdź, czy to rozwiązuje. Naprawdę nie znam przyczyny, ale wykonanie powyższego (pojedyncze cytaty, brak "3" i brak ścieżki) naprawiło błąd, który otrzymywałem podczas próby określonej konfiguracji.

7

miałem ten problem, używając Ruby 1.9.3 na windows - naprawiono go pobierając sqlite3.dll od http://www.sqlite.org/download.html i umieszczenie go w katalogu C: \ Ruby193 \ bin

+0

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

Powiązane problemy