2

刚刚在 MacOS Lion 上升级到 RM 3.2 的 RC1 并且无法再运行该应用程序。使用 rvm 运行。启动时 mysql2 gem 报告它在 dlopen 上找不到 libmysqlclient.18.dylib。

解决了。在此处发布解决方案,以便帮助某人节省一些时间。

使用 Apple 的属性列表编辑器在 ~/.MacOS/environment.plist 中创建一个条目,调用 LD_LIBRARY_PATH 并将值设置为 /usr/local/mysql/lib 或 MySQL 库所在的任何位置。

注销并重新登录,RubyMine 和 mysql2 gem 又开心了。

4

3 回答 3

4

我通过将它添加到 RubyMine 服务器实例的环境变量部分来解决这个问题。

1)为您的服务器打开运行/调试配置

2) 点击“环境变量”旁边的“...”

3)添加“DYLD_LIBRARY_PATH”作为键和“/usr/local/mysql/lib/”作为值(使用.dmg MySQL安装的路径)

于 2011-07-27T18:02:15.470 回答
2

已经提出了几种解决方案,但我认为最好的解决方案是我建议的最后一个:

1) 在运行/调试配置中编辑环境变量

这行得通,但你必须继续为每一个配置做,这很痛苦。如果您在 RubyMine 之外运行,它也不能解决问题。

2) 编辑 .MacOS/environment.plist

这似乎在更高版本的 OS X 中不再受支持。

3)在.profile/.bashrc中设置DYLD_LIBRARY_PATH环境变量

export DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH:/usr/local/mysql/lib/

这解决了控制台上的问题,但 RubyMine 似乎没有从 .profile/.bashrc 加载环境。

4) 将 libmysqlclient.18.dylib 符号链接到 /usr/local/lib

这是 Homebrew 通常做的事情,即为无法加载的 dylib 创建符号链接。

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

你只需要这样做一次,你就完成了。它可以在全局范围内工作,在控制台和 RubyMine 中。

于 2012-10-06T17:22:49.563 回答
0

使用 Apple 的属性列表编辑器在 ~/.MacOS/environment.plist 中创建一个条目,调用 LD_LIBRARY_PATH 并将值设置为 /usr/local/mysql/lib 或 MySQL 库所在的任何位置。

注销并重新登录,RubyMine 和 mysql2 gem 又开心了。

@Aaron Chambers,当时无法添加作为答案。谢谢。

于 2011-07-31T11:57:18.107 回答