【问题标题】:RubyMine 3.2 failing to find libmysqlclient.18.dylib on MacOS LionRubyMine 3.2 在 MacOS Lion 上找不到 libmysqlclient.18.dylib
【发布时间】:2011-09-29 14:12:33
【问题描述】:

刚刚在 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 又开心了。

【问题讨论】:

  • DYLD_LIBRARY_PATH 也可以。
  • 为什么不添加解决方案作为这个问题的答案?

标签: macos gem mysql2 rubymine


【解决方案1】:

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

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

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

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

【讨论】:

    【解决方案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 中工作。

    【讨论】:

    • Rubymine 还可以为项目指定环境变量,但在 DYLD_LIBRARY_PATH 的情况下,它似乎被忽略了。
    【解决方案3】:

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

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

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

    【讨论】:

      猜你喜欢
      • 2012-04-12
      • 1970-01-01
      • 2013-08-25
      • 2011-09-17
      • 1970-01-01
      • 2012-05-20
      • 1970-01-01
      • 2016-02-12
      • 2017-04-15
      相关资源
      最近更新 更多