RubyMine 3.2 failing to find libmysqlclient.18.dyl

2019-07-17 20:07发布

Just upgraded to RC1 of RM 3.2 on MacOS Lion and couldn't run the application anymore. Running with rvm. On startup the mysql2 gem reported it couldn't find libmysqlclient.18.dylib on a dlopen.

Solved it. Posting the solution here so it will help somebody save some time.

Using Apple's Property List Editor create an entry in ~/.MacOS/environment.plist call LD_LIBRARY_PATH and set the value to /usr/local/mysql/lib or whereever your MySQL libraries live.

Logout and log back in and RubyMine and the mysql2 gem are happy again.

3条回答
别忘想泡老子
2楼-- · 2019-07-17 20:50

I got around this by adding this to the environment variables section of the RubyMine server instance.

1) Open Run/Debug Configurations for your server

2) Click on the "..." next to "Environment Variables"

3) Add "DYLD_LIBRARY_PATH" as the key and "/usr/local/mysql/lib/" as value (path from using .dmg MySQL install)

查看更多
我想做一个坏孩纸
3楼-- · 2019-07-17 20:52

There have been several solutions suggested, but I think the best solution is the last one I suggest:

1) Editing Environment Variables in the Run/Debug Configuration

This works but you have to keep doing for every single configuration, which is a pain. It also doesn't fix the problem if you are running outside of RubyMine.

2) Editing the .MacOS/environment.plist

This seems to not be supported anymore in later versions of OS X.

3) Setting the DYLD_LIBRARY_PATH environment variable in the .profile/.bashrc

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

This fixed the problem on the console, but RubyMine doesn't seem to load the environment from .profile/.bashrc.

4) Symlink the libmysqlclient.18.dylib into /usr/local/lib

This is what Homebrew typically does, which is to create a symlink for the dylib that cannot be loaded.

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

You only need to do this once and you're done.. and it works globally, in the console and in RubyMine.

查看更多
SAY GOODBYE
4楼-- · 2019-07-17 21:11

Using Apple's Property List Editor create an entry in ~/.MacOS/environment.plist call LD_LIBRARY_PATH and set the value to /usr/local/mysql/lib or whereever your MySQL libraries live.

Logout and log back in and RubyMine and the mysql2 gem are happy again.

@Aaron Chambers, couldn't add as an answer at that time. Thanks.

查看更多
登录 后发表回答