加载错误 "libmysqlclient.18" - gem mysql2

Error on load "libmysqlclient.18" - gem mysql2

执行 bundle 后,我无法使用 rails 或 rake。 如果我执行 rails srake db:migratebundle exec rackup,我有这个错误:

/Library/Ruby/Gems/2.0.0/gems/activesupport-4.2.1/lib/active_support/dependencies.rb:274:in `require': dlopen(/Library/Ruby/Gems/2.0.0/gems/mysql2-0.3.20/lib/mysql2/mysql2.bundle, 9): Library not loaded: /usr/local/lib/libmysqlclient.18.dylib (LoadError)
Referenced from: /Library/Ruby/Gems/2.0.0/gems/mysql2-0.3.20/lib/mysql2/mysql2.bundle
Reason: image not found - /Library/Ruby/Gems/2.0.0/gems/mysql2-0.3.20/lib/mysql2/mysql2.bundle

抱歉没有破坏上面的代码(我不喜欢这个卷轴),但我不想妨碍对问题的理解。

OS: Mac OS X Yosemite - 10.10.3
Ruby -v: ruby 2.0.0p481 (2014-05-08 revision 45883) [universal.x86_64-darwin14]
Rails -v: Rails 4.2.1
Mysql2 version: mysql2 (0.4.3, 0.3.20, 0.3.18)

我试过了(在不同的时刻分开命令):

sudo gem update mysql2
sudo ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/lib/libmysqlclient.18.dylib

其他信息:

命令:

otool -L /Library/Ruby/Gems/2.0.0/gems/mysql2-0.3.18/lib/mysql2/mysql2.bundle

return

/Library/Ruby/Gems/2.0.0/gems/mysql2-0.3.18/lib/mysql2/mysql2.bundle:
    /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/libruby.2.0.0.dylib (compatibility version 2.0.0, current version 2.0.0)
    /usr/local/lib/libmysqlclient.18.dylib (compatibility version 18.0.0, current version 18.0.0)
    /usr/lib/libssl.0.9.8.dylib (compatibility version 0.9.8, current version 0.9.8)
    /usr/lib/libcrypto.0.9.8.dylib (compatibility version 0.9.8, current version 0.9.8)
    /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1213.0.0)
    /usr/lib/libobjc.A.dylib (compatibility version 1.0.0, current version 228.0.0)

PS: bundle 工作正常,没有错误

感谢

请按照以下步骤操作,因为您缺少建立数据库适配器连接所需的一些库:

sudo apt-get install libmysql-ruby libmysqlclient-dev
sudo apt-get install libmysqlclient-dev
gem uninstall mysql
bundle install

[已解决]

@SeanHuber 建议我使用 mysql2 -v 0.3.18

我卸载了版本0.3.20 MySQL2:

sudo gem uninstall mysql2 -v 0.3.20

之后我安装了版本0.3.18:

sudo gem install mysql2 -v '0.3.18'

在我的 Gemfile 中:

gem 'mysql2', '~> 0.3.18'

之后,捆绑包开始工作。 我需要更新一些宝石,作为设计。 结果,我 ruby 升级到 2.2.3。

现在,一切正常。

结论: mysql2 -v 0.3.20 不好。

感谢@SeanHuber 为我指路。