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

Pet*_*ran 14 mysql

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

Library not loaded: libmysqlclient.18.dylib (LoadError)
Run Code Online (Sandbox Code Playgroud)

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

sudo ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/lib/libmysqlclient.18.dylib
Run Code Online (Sandbox Code Playgroud)

没有

/usr/local/mysql/lib/libmysqlclient.18.dylib 
Run Code Online (Sandbox Code Playgroud)

文件只有一个

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

我跑

sudo find /usr/ -name libmysqlclient.18.dylib
Run Code Online (Sandbox Code Playgroud)

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

ear*_*ese 16

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

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

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

brew uninstall mysql
brew tap caskroom/versions
brew install mysql56
Run Code Online (Sandbox Code Playgroud)

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

  • 我使用这些步骤安装了 mysql,但仍然没有 `/usr/local/lib/libmysqlclient.18.dylib`。我确实有一个`/usr/local/opt/mysql@5.6/lib/libmysqlclient.18.dylib`。希望符号链接可以解决问题。 (2认同)

Giu*_*ppe 9

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

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

gem uninstall mysql2 && gem install mysql2

或者更好的是:

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