2012-12-22 9 views
5

Ich bin neu in Sinatra und versuche eine Datenbank mit SQLite3 und Datamapper zu erstellen. Ich installierte die beiden Edelsteine ​​und auch den Adapter und dann versucht, diesen Code in einer Datei auszuführen:DataMapper SQLite Fehler beim Erstellen einer neuen Datenbank

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

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

Die Befehlszeile mir diesen Fehler gab, wenn ich die Datei ausgeführt:

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) 

und dann eine Menge von anderen Dingen, die wegen dieser Fehler schief gelaufen sind. Ich habe versucht, viele der Edelsteine ​​neu zu installieren, aber nichts scheint zu funktionieren.

EDIT: Der vollständige Code-Fehler war:

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

Haben Sie versucht, dm-SQLite-Adapter zu installieren Juwel? –

+1

Können Sie den vollständigen StackTrace und den von Ihnen verwendeten Befehl angeben? – mbj

+0

Ich habe bereits dm-sqlite-adapter installiert. Der Fehler tritt immer noch auf. Der Befehl, den ich benutzte, war "ruby test.rb". Ich bin mir nicht sicher, wie ich den StackTrace finden kann. – Amja

Antwort

2

Versuchen Zugabe:

require 'dm-sqlite-adapter' 

Wenn die Dinge nicht behoben werden, können Sie auch versuchen könnte

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

Wechsel zu

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

und sehen, ob das es behebt. Ich kenne die Ursache wirklich nicht, aber das obige Problem (einfache Anführungszeichen, keine "3" und kein Pfad) behebt einen Fehler, den ich beim Versuch einer bestimmten Konfiguration erhalten habe.

7

ich dieses Problem hatte, mit Ruby 1.9.3 auf Windows - fixiert es durch die sqlite3.dll von http://www.sqlite.org/download.html Herunterladen und es in C setzen: \ Ruby193 \ bin

+0

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