为libmysqlclient.18.dylib库创建符号链接

问题描述 投票:14回答:4

我已经通过pkg安装程序安装了mysql。我试图启动rails服务器,我收到以下错误。

Library not loaded: libmysqlclient.18.dylib (LoadError)

我正在读一个解决方案就是创建一个符号链接

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

没有

/usr/local/mysql/lib/libmysqlclient.18.dylib 

文件只有一个

/usr/local/mysql/lib/libmysqlclient.20.dylib文件。

我跑

sudo find /usr/ -name libmysqlclient.18.dylib

我找不到libmysqlclient.18.dylib文件。

mysql
4个回答
16
投票

在设置新的开发环境时遇到了类似的问题。我通过自制软件安装了MySQL,它给了我5.7.9版本的MySQL,库版本为libmysqlclient.20.dylib

就我而言,我正在建立一个python项目。要求安装失败,因为python-MySQL连接部分正在寻找libmysqlclient.18.dylib,这在我的机器上找不到。

降级到MySQL 5.6为我解决了这个问题:

brew uninstall mysql
brew tap caskroom/versions
brew install mysql56

现在/usr/local/lib/libmysqlclient.18.dylib存在,一切都很好。


9
投票

最有可能在你的Rails环境中的mysql2 gem仍然在寻找libmysqlclient.18.dylib(从以前的mysql安装开始)但是库不再存在,因为最近的手动安装/升级用libmysqlclient.20.dylib取而代之。

简单的解决方法是再次安装mysql2

gem uninstall mysql2 && gem install mysql2

或者更好的是:

gem uninstall mysql2 && bundle,如果你在Bundler。


3
投票

我没有通过brew或gem安装mysql,并且面临同样的问题,它正在寻找libmysqlclient.18.dylib而不是libmysqlclient.20.dylib。我尝试了这里提到的所有内容以及其他一些主题。没有任何效果。最后,这对我有用:

 pip install mysqlclient

它没有安装libmysqlclient.18.dylib,但解决了library not installedimage not found错误。

希望它可以帮到某人!


0
投票
  1. 卸载mysqlclient
  2. 清除你的点子缓存
  3. 查找为mysqlclient存储pip轮缓存的文件夹并将其删除。
  4. 重新安装mysqlclient

mac mojave OS缓存将在此文件夹中:〜/ Library / Caches / pip。请按照以下步骤操作:

  1. 找〜/ Library / Caches / pips / wheels / | grep mysql
  2. 删除你得到的文件。
  3. pip install mysqlclient
© www.soinside.com 2019 - 2024. All rights reserved.