Адаптер ActiveRecord oracle_enhanced не может загрузить библиотеку ruby-oci8 - PullRequest
1 голос
/ 10 августа 2011

После успешной установки гема 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 (2009-06-12, уровень исправления 174) [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 Instant Instant. Это то, что вызывало все проблемы. По сути, я вложил второй каталог instantclient_10_2 в первый, и мой .bash_profile просматривал первый каталог, а не тот, что под ним.

Ответы [ 3 ]

11 голосов
/ 17 июля 2012

Пробег sudo apt-get install libaio1

2 голосов
/ 16 ноября 2011

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

  1. gem 'ruby-oci8', '~> 2.0.6'

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

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

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

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


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

  1. gem 'ruby-oci8', '~> 1.0.4'

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

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

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

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

0 голосов
/ 11 августа 2011

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

.
...