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

Posted

技术标签:

【中文标题】为 libmysqlclient.18.dylib 库创建符号链接【英文标题】:Create a symlink for the libmysqlclient.18.dylib library 【发布时间】:2016-02-12 20:41:57 【问题描述】:

我已经通过 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。如果您是从以前的版本升级,请参阅 dev.mysql.com/doc/refman/5.7/en/… 并运行 mysql_upgrade 【参考方案1】:

我在设置新的开发环境时遇到了这样的问题。我通过自制软件安装了 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 出现了,一切都很好。

【讨论】:

我对自制软件没有太多经验,但我认为您的意思是brew install mysql56,而不是brew cask install mysql56 谢谢,做出改变 谢谢。我花了一天的时间试图让它工作,最后你给了我一个有效的解决方案:D 我使用这些步骤安装了 mysql,但仍然没有/usr/local/lib/libmysqlclient.18.dylib。我确实有一个/usr/local/opt/mysql@5.6/lib/libmysqlclient.18.dylib。希望符号链接能解决问题。【参考方案2】:

最有可能在 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错误。

希望它对某人有所帮助!

【讨论】:

【参考方案4】:
    卸载mysqlclient 清除 pip 的缓存 找到为mysqlclient存储pip wheel缓存的文件夹并删除。 重新安装mysqlclient

mac mojave 操作系统缓存将位于此文件夹中:~/Library/Caches/pip。请按照以下步骤操作:

    找到 ~/Library/Caches/pips/wheels/ | grep mysql 删除你得到的文件。 点安装mysqlclient

【讨论】:

以上是关于为 libmysqlclient.18.dylib 库创建符号链接的主要内容,如果未能解决你的问题,请参考以下文章

python 2.7.10 找不到 libmysqlclient.18.dylib 解决方案

python 按装 MySQLdb报错终极解决方案

第25月第2天 django项目01

mac(10.11.5 )安装pt-query-digest所遇问题总结

Solución:Rails no encuntera la librería MySQL aunque estéinstalada(苹果操作系统)

将 A 转换为 1 B 转换为 2 ... Z 转换为 26,然后将 AA 转换为 27 AB 转换为 28(Excel 中列引用的列索引)