簡體   English   中英

ActiveRecord oracle_enhanced 適配器無法加載 ruby-oci8 庫

[英]ActiveRecord oracle_enhanced adapter can't load ruby-oci8 library

成功安裝 ruby-0ci8 gem 和 oracle_enhanced 適配器 gem 后,當我嘗試啟動我的 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 gem 都出現在我的 gem 列表中。 兩者都存在於我的 Gemfile 中。 為什么適配器找不到oci8庫?

我正在運行的一些設置規范:

  • 麥克雪豹 (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) [gem]

我看過這篇文章: Rails 3.0.3 - Oracle_enhanced doesn't work 但這沒有幫助。 還有其他人遇到這個嗎?

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

回答

我想通了。 最后,我在 /usr/local/oracle/instantclient_10_2/ 中的文件結構不正確,我在其中存儲了 oracle 即時客戶端的文件。 這就是造成所有問題的原因。 基本上,我在第一個目錄中嵌套了第二個 Instantclient_10_2 目錄,我讓 my.bash_profile 查找第一個目錄而不是它下面的目錄。

運行sudo apt-get install libaio1

- 基本上,我在 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 doesn't work

此問題已在平台特定問題的 gems 列表中注明。 您最可能的解決方案是按照提供的有關如何設置Oracle 即時客戶端的指南進行操作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM