ruby postgreSQL на AMD64 - PullRequest
       21

ruby postgreSQL на AMD64

1 голос
/ 28 февраля 2012

---------------- РЕДАКТИРОВАТЬ ----------------

I 'мы попробовали то, что сказал @Duk, и все еще ничего не работает.Попробовав немного больше, я понял, что проблема не в DataMapper.Фактически это адаптер postgreSQL, который не работает на AMD64.

У меня есть двоичный дистрибутив PostgreSQL (последний найденный на их сайте), и я получил все гемы, выполнив

gem install...

Кто-нибудь может мне помочь?

---------------- ОРИГИНАЛ ----------------

После «Начало работы» с веб-сайта DataMapper я наткнулся на этот пример:

# A Postgres connection:
DataMapper.setup(:default, 'postgres://localhost/the_database_name')

У меня установлена ​​база данных postgre, DataMapper и все зависимости (включая dev-kit). Воткод:

gem 'data_mapper'
require 'dm-core'
require 'dm-migrations/adapters/dm-postgres-adapter'
# If you want the logs displayed you have to do this before the call to setup
DataMapper::Logger.new($stdout, :debug)

# A Postgres connection:
DataMapper.setup(:default, 'postgres://localhost/test')

Но когда я его запускаю, возникает эта ошибка:

D:/dev/Ruby/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require': 193: %1 n?est pas une application Win32 valide.   - D:/dev/Ruby/lib/ruby/gems/1.9.1/gems/do_postgres-0.10.8-x86-mingw32/lib/do_postgres/1.9/do_postgres.so (LoadError)
    from D:/dev/Ruby/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
    from D:/dev/Ruby/lib/ruby/gems/1.9.1/gems/do_postgres-0.10.8-x86-mingw32/lib/do_postgres.rb:30:in `rescue in <top (required)>'
    from D:/dev/Ruby/lib/ruby/gems/1.9.1/gems/do_postgres-0.10.8-x86-mingw32/lib/do_postgres.rb:25:in `<top (required)>'
    from D:/dev/Ruby/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
    from D:/dev/Ruby/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
    from D:/dev/Ruby/lib/ruby/gems/1.9.1/gems/dm-postgres-adapter-1.2.0/lib/dm-postgres-adapter/adapter.rb:1:in `<top (required)>'
    from D:/dev/Ruby/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
    from D:/dev/Ruby/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
    from D:/dev/Ruby/lib/ruby/gems/1.9.1/gems/dm-postgres-adapter-1.2.0/lib/dm-postgres-adapter.rb:1:in `<top (required)>'
    from D:/dev/Ruby/lib/ruby/1.9.1/rubygems/custom_require.rb:59:in `require'
    from D:/dev/Ruby/lib/ruby/1.9.1/rubygems/custom_require.rb:59:in `rescue in require'
    from D:/dev/Ruby/lib/ruby/1.9.1/rubygems/custom_require.rb:35:in `require'
    from D:/dev/Ruby/lib/ruby/gems/1.9.1/gems/dm-core-1.2.0/lib/dm-core/adapters.rb:163:in `load_adapter'
    from D:/dev/Ruby/lib/ruby/gems/1.9.1/gems/dm-core-1.2.0/lib/dm-core/adapters.rb:133:in `adapter_class'
    from D:/dev/Ruby/lib/ruby/gems/1.9.1/gems/dm-core-1.2.0/lib/dm-core/adapters.rb:13:in `new'
    from D:/dev/Ruby/lib/ruby/gems/1.9.1/gems/dm-core-1.2.0/lib/dm-core.rb:228:in `setup'
    from D:/dev/workspace/ruby/training/bin/pg/main.rb:8:in `<top (required)>'
    from -e:1:in `load'
    from -e:1:in `<main>'

Ошибка возникает в функции «load_adapter»:

    require "dm-#{name}-adapter"

Видимофайл не найденЯ попытался включить адаптер вручную, как предложено здесь , но безуспешно.

Есть идеи?спасибо

1 Ответ

1 голос
/ 28 февраля 2012

Вы должны установить dm-postgres-adapter (gem install dm-postgres-adapter), затем установить data_mapper (gem install data_mapper).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...