OSX 10.11上的Rails El Capitan:未加载库:libmysqlclient.18.dylib

自从我将OSX升级到10.11后,我再也不能将MySQL与我的Rails应用程序一起使用了:

$ rails s /Users/josh/.rvm/gems/ruby-2.2.3@a4aa2/gems/activesupport-4.2.1/lib/active_support/dependencies.rb:274:in `require': dlopen(/Users/josh/.rvm/gems/ruby-2.2.3@a4aa2/gems/mysql2-0.3.20/lib/mysql2/mysql2.bundle, 9): Library not loaded: libmysqlclient.18.dylib (LoadError) Referenced from: /Users/josh/.rvm/gems/ruby-2.2.3@a4aa2/gems/mysql2-0.3.20/lib/mysql2/mysql2.bundle Reason: image not found - /Users/josh/.rvm/gems/ruby-2.2.3@a4aa2/gems/mysql2-0.3.20/lib/mysql2/mysql2.bundle from /Users/josh/.rvm/gems/ruby-2.2.3@a4aa2/gems/activesupport-4.2.1/lib/active_support/dependencies.rb:274:in `block in require' from /Users/josh/.rvm/gems/ruby-2.2.3@a4aa2/gems/activesupport-4.2.1/lib/active_support/dependencies.rb:240:in `load_dependency' from /Users/josh/.rvm/gems/ruby-2.2.3@a4aa2/gems/activesupport-4.2.1/lib/active_support/dependencies.rb:274:in `require' 

我发现了其他关于类似问题的post,但在这方面我太初学了,自解决以来版本也发生了变化等。

之前的答案(前El Capitan),是从mysql的lib目录创建一个符号链接,用于库文件到/ usr / lib,如下所示:

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

但是,由于OS X的完整性控制,现在会产生“不允许操作”。 这可以通过禁用它来解决。 然而,更简单的解决方案(我可以validation的解决方案)是将其符号链接到/ usr / local / lib中:

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

好的’Apple’。

我有同样的问题只是打开终端命中:

 sudo nano ~/.bash_profile 

粘贴以下行:

 MYSQL=/usr/local/mysql/bin export PATH=$PATH:$MYSQL export DYLD_LIBRARY_PATH=/usr/local/mysql/lib:$DYLD_LIBRARY_PATH 

就是这样。