【发布时间】:2011-07-23 17:40:18
【问题描述】:
我刚刚编译了 ruby 并安装了 rubygems、mysql2 和 rails,效果很好。但是,每当我尝试启动 rails 服务器时,都会收到以下错误消息:
/usr/local/ruby/lib/ruby/gems/1.9.1/gems/mysql2-0.2.6/lib/mysql2.rb:7:in `require': dlopen(/usr/local/ruby/lib/ruby /gems/1.9.1/gems/mysql2-0.2.6/lib/mysql2/mysql2.bundle, 9): 库未加载: libmysqlclient.18.dylib (LoadError) 引用自:/usr/local/ruby/lib/ruby/gems/1.9.1/gems/mysql2-0.2.6/lib/mysql2/mysql2.bundle 原因:找不到图像 - /usr/local/ruby/lib/ruby/gems/1.9.1/gems/mysql2-0.2.6/lib/mysql2/mysql2.bundle 来自 /usr/local/ruby/lib/ruby/gems/1.9.1/gems/mysql2-0.2.6/lib/mysql2.rb:7:in `' 来自 /usr/local/ruby/lib/ruby/gems/1.9.1/gems/bundler-1.0.10/lib/bundler/runtime.rb:68:in `require' 来自 /usr/local/ruby/lib/ruby/gems/1.9.1/gems/bundler-1.0.10/lib/bundler/runtime.rb:68:in `block (2 levels) in require' 来自 /usr/local/ruby/lib/ruby/gems/1.9.1/gems/bundler-1.0.10/lib/bundler/runtime.rb:66:in `each' 来自 /usr/local/ruby/lib/ruby/gems/1.9.1/gems/bundler-1.0.10/lib/bundler/runtime.rb:66:in `block in require' 来自 /usr/local/ruby/lib/ruby/gems/1.9.1/gems/bundler-1.0.10/lib/bundler/runtime.rb:55:in `each' 来自 /usr/local/ruby/lib/ruby/gems/1.9.1/gems/bundler-1.0.10/lib/bundler/runtime.rb:55:in `require' 来自 /usr/local/ruby/lib/ruby/gems/1.9.1/gems/bundler-1.0.10/lib/bundler.rb:120:in `require' 来自 /Users/filzo/Documents/rails/blog/config/application.rb:7:in `' 来自 /usr/local/ruby/lib/ruby/gems/1.9.1/gems/railties-3.0.5/lib/rails/commands.rb:28:in `require' 来自 /usr/local/ruby/lib/ruby/gems/1.9.1/gems/railties-3.0.5/lib/rails/commands.rb:28:in `block in' 来自 /usr/local/ruby/lib/ruby/gems/1.9.1/gems/railties-3.0.5/lib/rails/commands.rb:27:in `tap' 来自 /usr/local/ruby/lib/ruby/gems/1.9.1/gems/railties-3.0.5/lib/rails/commands.rb:27:in `' 来自脚本/rails:6:in `require' 来自脚本/rails:6:in `'我尝试了几种可能的解决方案(例如:http://railsforum.com/viewtopic.php?pid=23125#23125 with libmysqlclient.18.dylib);但没有什么对我有用。我希望你能帮助我。
编辑: 看来这解决了我的问题:
sudo install_name_tool -change libmysqlclient.18.dylib /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/local/ruby/lib/ruby/gems/1.9.1/gems/mysql2-0.2.6/lib/mysql2/mysql2.bundle
无论如何;是 MySQL 还是 ruby 代码中的错误?
【问题讨论】:
-
你的修复也对我有用。我不得不将“1.9.1”更改为“1.8”,并且我的 Ruby 副本安装在根库中,而不是本地库中,但它可以工作。哇!
-
你用的是什么mysql版本?
标签: mysql ruby-on-rails ruby gem