成功安装 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 目录,我的 .bash_profile 在第一个目录中查找,而不是在它下面的目录中。