2009-02-05 72 views
9

我已经升级到Rails 2.2.2并安装了MySQL 2.7的宝石,当我尝试运行迁移或启动服务器我看到了这个错误:如何修复未加载libmysqlclient.15.dylib导致的错误?

dlopen(/Library/Ruby/Gems/1.8/gems/mysql-2.7/lib/mysql.bundle, 9): Library not loaded: /usr/local/mysql/lib/mysql/libmysqlclient.15.dylib 
Referenced from: /Library/Ruby/Gems/1.8/gems/mysql-2.7/lib/mysql.bundle 
Reason: image not found - /Library/Ruby/Gems/1.8/gems/mysql-2.7/lib/mysql.bundle 

有什么解决?

回答

4

回答我自己的问题,为他人着想。我发现修复here

运行:

sudo install_name_tool -change /usr/local/mysql/lib/mysql/libmysqlclient.15.dylib /usr/local/mysql/lib/libmysqlclient.15.dylib /Library/Ruby/Gems/1.8/gems/mysql-2.7/lib/mysql.bundle 
sudo install_name_tool -change /usr/local/mysql/lib/mysql/libmysqlclient.15.dylib /usr/local/mysql/lib/libmysqlclient.15.dylib /Library/Ruby/Gems/1.8/gems/mysql-2.7/mysql.bundle 

为我工作。

+0

我在这里更改顺序(install_name_tool -change [老] [新]),但它也为我工作。 – freitass 2010-11-18 02:35:49

+0

即使当我将15改为18时,也不适合我。Sytse的解决方案确实奏效,尽管我不知道它们有什么不同。 – mcv 2012-07-17 10:11:17

1

如果加布Hollombe解决方案不工作,然后尝试这个

sudo install_name_tool -change libmysqlclient.15.dylib /usr/local/mysql/lib/libmysqlclient.15.dylib /Library/Ruby/Gems/1.8/gems/mysql-2.7/lib/mysql.bundle 

sudo install_name_tool -change libmysqlclient.15.dylib /usr/local/mysql/lib/libmysqlclient.15.dylib /Library/Ruby/Gems/1.8/gems/mysql-2.7/mysql.bundle 
4

我不得不从旧引用删除目录:

sudo install_name_tool -change libmysqlclient.18.dylib 
    /usr/local/mysql/lib/libmysqlclient.18.dylib 
    /Library/Ruby/Gems/1.8/gems/mysql-2.7/lib/mysql.bundle 

sudo install_name_tool -change libmysqlclient.18.dylib 
    /usr/local/mysql/lib/libmysqlclient.18.dylib 
    /Library/Ruby/Gems/1.8/gems/mysql-2.7/mysql.bundle 
2

使用sudo往往导致意想不到的问题。什么对我来说是卸载mysql2宝石,并重新安装它。

gem uninstall mysql2 bundle

相关问题