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

15

我已经通过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 文件。


符号链接修复不适用于您的情况,18文件是针对先前版本(我相信是5.6)的。20文件用于mysql 5.7。如果您正在从早期版本升级,请参阅http://dev.mysql.com/doc/refman/5.7/en/upgrading-from-previous-series.html并运行`mysql_upgrade`。 - d_rail
4个回答

16

在设置新的开发环境时,我遇到了这样一个问题。我通过homebrew安装了MySQL,它给我提供了MySQL 5.7.9版本,以及库版本为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已经存在,一切工作正常。


1
我对homebrew没有太多的经验,但我认为你的意思是brew install mysql56,而不是brew cask install mysql56 - d_rail
谢谢,已经做出了更改。 - eareese
1
谢谢。我花了一天的时间来尝试让这个工作,最终你给了我一个有效的解决方案 :D - Designer023
2
我按照这些步骤安装了mysql,但仍然没有/usr/local/lib/libmysqlclient.18.dylib。我有一个/usr/local/opt/mysql@5.6/lib/libmysqlclient.18.dylib。希望符号链接能解决问题。 - Liron Yahdav

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. 清除pip缓存
  3. 找到存储mysqlclient pip wheel缓存的文件夹并删除它。
  4. 重新安装mysqlclient

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

  1. 查找 ~/Library/Caches/pips/wheels/ | grep mysql
  2. 删除找到的文件。
  3. pip install mysqlclient

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接