如何修复由于未加载libmysqlclient.15.dylib而导致的错误?

如何修复由于未加载libmysqlclient.15.dylib而导致的错误?,mysql,ruby-on-rails,rubygems,Mysql,Ruby On Rails,Rubygems,我已经升级到Rails 2.2.2并安装了MySQL 2.7 gem,当我尝试运行迁移或启动服务器时,发现了以下错误: 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

我已经升级到Rails 2.2.2并安装了MySQL 2.7 gem,当我尝试运行迁移或启动服务器时,发现了以下错误:

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

解决方法是什么?

为了他人的利益回答我自己的问题

我找到了解决办法

运行:


为我工作。

如果Gabe 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

我必须从旧引用中删除目录:

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

使用sudo通常会导致意外问题。对我有效的方法是卸载mysql2 gem并重新安装它

gem卸载mysql2

bundle

我不得不在这里更改订单(安装名称工具-change[old][new]),但它对我也有效。对我无效,即使我将15改为18。Sytse的解决方案确实有效,但我不知道有什么区别。这一个对我有效,不同于Gabe Hollombe的解决方案。不知道有什么区别。
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