【问题标题】:ActiveRecord oracle_enhanced adapter can't load ruby-oci8 libraryActiveRecord oracle_enhanced 适配器无法加载 ruby​​-oci8 库
【发布时间】:2011-10-24 10:06:27
【问题描述】:

成功安装 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)

enhanded 适配器和 ruby​​-oci8 gem 都出现在我的 gem 列表中。两者都存在于我的 Gemfile 中。为什么适配器找不到oci8库?

我正在运行的设置的一些规范:

  • Mac 雪豹 (10.6.8)
  • Ruby 1.8.7(2009-06-12 补丁级别 174)[i686-darwin10.8.0]
  • Rails 3.0.3
  • ruby-oci8 (2.0.4) [gem]
  • 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 目录,我的 .bash_profile 在第一个目录中查找,而不是在它下面的目录中。

【问题讨论】:

    标签: ruby-on-rails oracle oci8


    【解决方案1】:

    运行sudo apt-get install libaio1

    【讨论】:

    • 这为我在 centos 上修复了它。谢谢。
    • OP 有一个 mac,所以这可能对他没有帮助。
    • 在 Ubuntu 12.10 中为我修复了这个问题
    • 这是解决我问题的正确答案。它应该被接受为答案。
    【解决方案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 doesn't work

    【讨论】:

    • 在 Gemfile 中指定 ruby​​-oci8 的确切版本解决了我的问题
    【解决方案3】:

    platform specific issues 的 gems 列表中注明了此问题。您最可能的解决方案是按照提供的有关如何设置 Oracle Instant Client 的指南进行操作。

    【讨论】:

    • 我已经按照您在此处提到的指南进行操作。它让我解决了安装 oci8 gem 时遇到的一些问题。现在它似乎已正确安装,我不明白为什么增强型适配器无法检测到它。
    猜你喜欢
    • 1970-01-01
    • 2015-08-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-20
    • 1970-01-01
    相关资源
    最近更新 更多