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