Адаптеры не работают с datamapper

#ruby #gem #ruby-datamapper

#ruby #rubygems #ruby-datamapper

Вопрос:

У меня есть следующий код:

 require 'sinatra'
require 'datamapper'

DataMapper.setup :default, "postgres://localhost/mydb"
  

Однако, когда я пытаюсь запустить его, я получаю:

Ошибка загрузки: нет такого файла для загрузки — dm-postgres-adapter

/Library/Ruby/Site/1.8/rubygems/custom_require.rb:53:в `gem_original_require’

/Library/Ruby/Site/1.8/rubygems/custom_require.rb:53: в `требовать»

/Library/Ruby/Gems/1.8/gems/dm-core-1.1.0/lib/dm-core/adapters.rb:163: в `load_adapter’

/Library/Ruby/Gems/1.8/gems/dm-core-1.1.0/lib/dm-core/adapters.rb:133: в `adapter_class’

/Library/Ruby/Gems/1.8/gems/dm-core-1.1.0/lib/dm-core/adapters.rb:13: в `новом»

/Library/Ruby/Gems/1.8/gems/dm-core-1.1.0/lib/dm-core.rb:219: в `настройке»

Это драгоценные камни, которые я установил:

* ЛОКАЛЬНЫЕ ДРАГОЦЕННЫЕ КАМНИ *

аннотация (1.0.0)

actionmailer (3.0.9, 3.0.5, 2.3.5, 1.3.6)

пакет действий (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)

адресуемый (2.2.6, 2.2.5)

arel (2.0.10, 2.0.9)

автотестирование (4.4.6)

автотестирование-fsevent (0.2.4)

автотестирование-growl (0.2.9)

автотестирование-rails-чистый (4.1.2)

bcrypt-ruby (2.1.4)

конструктор (2.1.2)

bundler (1.0.10)

capistrano (2.5.2)

cgi_multipart_eof_fix (2.5.0)

конфигурация (1.2.0)

демоны (1.0.10)

data_objects (0.10.6)

datamapper (1.1.0)

diff-lcs (1.1.2)

dm-агрегаты (1.1.0)

dm-ограничения (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-обновление (1.6.0)

rubynode (0.1.5)

продолжение (3.20.0)

дробовик (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)

отводы (0.3.23)

termios (0.9.4)

thor (0.14.6)

наклон (1.2.2)

treetop (1.4.9, 1.4.5)

поток твитов (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. Я могу сделать require 'dm-postgres-adapter' , и это работает нормально.

Ответ №1:

Вы должны использовать dm-core вместо datamapper в своей require строке.

Используете ли вы Bundler? Если у вас правильно настроен пакет, он уже должен быть загружен для вас.

Ответ №2:

Удаление dm-postgres-adapter 1.2.0.rc2 исправило это.