Адаптер ActiveRecord oracle_enhanced не может загрузить библиотеку ruby-oci8

После успешной установки гема ruby-0ci8 и гема адаптера oracle_enhanced я получаю следующую ошибку, когда пытаюсь запустить свой сервер проекта rails:

=> Booting WEBrick
=> Rails 3.0.3 application starting in development on http://0.0.0.0:3000
=> Call with -d to detach
=> Ctrl-C to shutdown server
Exiting
/Library/Ruby/Gems/1.8/gems/activerecord-oracle_enhanced-adapter-1.3.2/lib/active_record/connection_adapters/oracle_enhanced_oci_connection.rb:7: 
ERROR: ActiveRecord oracle_enhanced adapter could not load ruby-oci8 library. 
Please install ruby-oci8 gem. (LoadError)

И усовершенствованный адаптер, и драгоценный камень ruby-oci8 отображаются в моем списке драгоценных камней. Оба присутствуют в моем Gemfile. Почему адаптер не может найти библиотеку oci8?

Некоторые спецификации по настройке, которую я выполняю:

  • Mac Snow Leopard (10.6.8)
  • Ruby 1.8.7 (уровень патча 174 от 12 июня 2009 г.) [i686-darwin10.8.0]
  • Рельсы 3.0.3
  • ruby-oci8 (2.0.4) [драгоценный камень]
  • activerecord-oracle_enhanced-adapter (1.3.2) [драгоценный камень]

Я просмотрел этот пост: Rails 3.0.3 - Oracle_enhanced не делает ' т работать. Но это не помогает. Кто-нибудь еще сталкивался с этим?

==============================

Отвечать

Я понял это. В конце концов, у меня была неправильная файловая структура в / usr / local / oracle / Instantclient_10_2 /, где я хранил файлы для моего мгновенного клиента oracle. Вот что было причиной всех проблем. По сути, я вложил второй каталог Instantclient_10_2 внутрь первого, и мой .bash_profile смотрел в первый каталог, а не в тот, что ниже.


person Mikey Donuts    schedule 10.08.2011    source источник


Ответы (3)


Запустите sudo apt-get install libaio1

person DadoCe    schedule 16.07.2012
comment
Это исправило это для меня на centos. Спасибо. - person Chris Ledet; 16.08.2012
comment
У OP есть Mac, так что это ему, вероятно, не поможет. - person Anna; 19.03.2013
comment
Это исправлено для меня в Ubuntu 12.10. - person Soundar Rathinasamy; 17.05.2013
comment
Это правильный ответ, решающий мою проблему. Это следует принять как ответ. - person mainframer; 07.12.2015

-По сути, я добавил в Gemfile следующие 2 строки:

  1. драгоценный камень 'ruby-oci8', '~> 2.0.6'

  2. gem 'activerecord-oracle_enhanced-adapter', '~> 1.4.0'

-затем в командной строке запустил следующее:

установка пакета

-Убедитесь, что у вас нет других версий ruby-oci8 или activerecord-oracle_enhanced-adapter в Gemfile


-Для обычного адаптера активной записи Oracle я добавил эти строки:

  1. драгоценный камень 'ruby-oci8', '~> 1.0.4'

  2. gem 'activerecord-oracle-adapter', '~> 1.0.0.9250'

-затем в командной строке запустил следующее:

установка пакета

Я получил решение от: Rails 3.0.3 - Oracle_enhanced не работает

person Ruth    schedule 16.11.2011
comment
указание точной версии ruby-oci8 в Gemfile решило мой случай - person Steen; 10.09.2013

Эта проблема отмечена в списке драгоценных камней конкретных проблем платформы. Наиболее вероятное решение - следовать руководству по настройке Oracle Instant Client.

person Devin M    schedule 10.08.2011
comment
Я уже следил за руководством, которое вы здесь упомянули. Это помогло мне решить некоторые из проблем, с которыми я столкнулся при установке gem-пакета oci8. Теперь, когда кажется, что он установлен правильно, я не могу понять, почему он не обнаруживается расширенным адаптером. - person Mikey Donuts; 11.08.2011