问题
I have the following code:
require 'sinatra'
require 'datamapper'
DataMapper.setup :default, "postgres://localhost/mydb"
However, when I try and run it, I get:
LoadError: no such file to load -- dm-postgres-adapter
/Library/Ruby/Site/1.8/rubygems/custom_require.rb:53:in `gem_original_require'
/Library/Ruby/Site/1.8/rubygems/custom_require.rb:53:in `require'
/Library/Ruby/Gems/1.8/gems/dm-core-1.1.0/lib/dm-core/adapters.rb:163:in `load_adapter'
/Library/Ruby/Gems/1.8/gems/dm-core-1.1.0/lib/dm-core/adapters.rb:133:in `adapter_class'
/Library/Ruby/Gems/1.8/gems/dm-core-1.1.0/lib/dm-core/adapters.rb:13:in `new'
/Library/Ruby/Gems/1.8/gems/dm-core-1.1.0/lib/dm-core.rb:219:in `setup'
These are the gems I have installed:
* LOCAL GEMS *
abstract (1.0.0)
actionmailer (3.0.9, 3.0.5, 2.3.5, 1.3.6)
actionpack (3.0.9, 3.0.5, 2.3.5, 1.13.6)
actionwebservice (1.2.6)
activemodel (3.0.9, 3.0.5)
activerecord (3.0.9, 3.0.5, 2.3.5, 1.15.6)
activeresource (3.0.9, 3.0.5, 2.3.5)
activesupport (3.0.9, 3.0.5, 2.3.5, 1.4.4)
acts_as_ferret (0.4.3)
addressable (2.2.6, 2.2.5)
arel (2.0.10, 2.0.9)
autotest (4.4.6)
autotest-fsevent (0.2.4)
autotest-growl (0.2.9)
autotest-rails-pure (4.1.2)
bcrypt-ruby (2.1.4)
builder (2.1.2)
bundler (1.0.10)
capistrano (2.5.2)
cgi_multipart_eof_fix (2.5.0)
configuration (1.2.0)
daemons (1.0.10)
data_objects (0.10.6)
datamapper (1.1.0)
diff-lcs (1.1.2)
dm-aggregates (1.1.0)
dm-constraints (1.1.0)
dm-core (1.2.0.rc2, 1.1.0)
dm-do-adapter (1.2.0.rc2, 1.1.0)
dm-migrations (1.1.0)
dm-postgres-adapter (1.2.0.rc2, 1.1.0)
dm-serializer (1.1.0)
dm-sqlite-adapter (1.2.0.rc2, 1.1.0)
dm-timestamps (1.1.0)
dm-transactions (1.1.0)
dm-types (1.1.0)
dm-validations (1.1.0)
dnssd (0.6.0)
do_postgres (0.10.6)
do_sqlite3 (0.10.6)
erubis (2.6.6)
eventmachine (0.12.10)
ezcrypto (0.7.2)
faraday (0.6.1)
faraday_middleware (0.6.3)
fastercsv (1.5.4)
fastthread (1.0.1)
fcgi (0.8.7)
ferret (0.11.6)
gem_plugin (0.2.3)
hashie (1.0.0)
heroku (1.18.1)
highline (1.5.0)
hpricot (0.8.4, 0.6.164)
i18n (0.5.0)
json (1.5.1, 1.4.6)
launchy (0.3.7)
less (1.2.21)
libxml-ruby (1.1.2)
liquid (2.2.2)
mail (2.2.19, 2.2.15)
mime-types (1.16)
mocha (0.9.12)
mongrel (1.1.5)
multi_json (0.0.5)
multi_xml (0.2.2)
multipart-post (1.1.0)
mutter (0.5.3)
needle (1.3.0)
net-scp (1.0.1)
net-sftp (2.0.1, 1.1.1)
net-ssh (2.0.4, 1.1.4)
net-ssh-gateway (1.0.0)
nokogiri (1.4.4)
oauth (0.4.5, 0.4.4)
polyglot (0.3.1)
rack (1.2.1, 1.0.1)
rack-mount (0.6.14, 0.6.13)
rack-test (0.5.7)
rails (3.0.9, 3.0.5, 2.3.5, 1.2.6)
railties (3.0.9, 3.0.5)
rake (0.8.7, 0.8.3)
rant (0.5.7)
rash (0.3.0)
rdoc (3.9.2)
RedCloth (4.1.1)
rest-client (1.6.1)
roauth (0.0.3)
rspec (2.6.0, 2.5.0)
rspec-core (2.6.4, 2.5.1)
rspec-expectations (2.6.0, 2.5.0)
rspec-mocks (2.6.0, 2.5.0)
rspec-rails (2.6.1, 2.5.0)
ruby-openid (2.1.2)
ruby-yadis (0.3.4)
rubygems-update (1.6.0)
rubynode (0.1.5)
sequel (3.20.0)
shotgun (0.9)
simple_oauth (0.1.4)
sinatra (1.2.3, 1.0)
spork (0.9.0.rc4)
sqlite3 (1.3.3)
sqlite3-ruby (1.2.4)
stringex (1.2.2)
sys-uname (0.8.5)
taps (0.3.23)
termios (0.9.4)
thor (0.14.6)
tilt (1.2.2)
treetop (1.4.9, 1.4.5)
tweetstream (1.0.4)
twitter (1.4.0)
twitter-stream (0.1.10)
twitter4r (0.7.0)
twitter_oauth (0.4.3)
tzinfo (0.3.24)
uuidtools (2.1.2)
visionmedia-growl (1.0.3)
webrat (0.7.1)
xmpp4r (0.4)
ZenTest (4.5.0)
回答1:
You should use dm-core
instead of datamapper
in your require
line.
Are you using Bundler? Provided you have bundler set up correctly, it should already be loaded for you.
回答2:
Uninstalling dm-postgres-adapter 1.2.0.rc2 fixed it.
来源:https://stackoverflow.com/questions/7621106/adapters-not-working-with-datamapper