成功安装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 adapter和ruby-oci8 gem都出现在我的gem列表中。两者都存在于我的Gemfile中。为什么适配器找不到oci8库?
有关我正在运行的设置的一些规范:
我看过这篇文章:Rails 3.0.3 - Oracle_enhanced doesn't work。但它没有帮助。还有其他人遇到过这个吗?
==============================
我明白了。最后,我在/ usr / local / oracle / instantclient_10_2 /中有一个不正确的文件结构,我已经为我的oracle即时客户端存储了文件。这就是造成所有问题的原因。基本上我已经在第一个目录中嵌套了第二个instantclient_10_2目录,并且我的.bash_profile查找了第一个目录,而不是它下面的目录。
答案 0 :(得分:11)
运行sudo apt-get install libaio1
答案 1 :(得分:2)
- 基本上,我在Gemfile中添加了以下两行:
gem'ruby-oci8','〜> 2.0.6'
gem'activerecord-oracle_enhanced-adapter','〜> 1.4.0'
- 然后在命令行上运行以下命令:
捆绑安装
- 确保你在Gemfile中没有其他版本的ruby-oci8或activerecord-oracle_enhanced-adapter
- 对于常规oracle活动记录适配器,我添加了这些行:
gem'ruby-oci8','〜> 1.0.4'
gem'activerecord-oracle-adapter','〜> 1.0.0.9250'
- 然后在命令行上运行以下命令:
捆绑安装
我从以下方面得到了解决方案: Rails 3.0.3 - Oracle_enhanced doesn't work
答案 2 :(得分:0)
此问题在platform specific issues的宝石列表中注明。您最有可能的解决方案是遵循有关如何设置Oracle Instant Client。
的指南