Подтвердить что ты не робот

Rails на OSX 10.11 El Capitan: библиотека не загружена: libmysqlclient.18.dylib

Поскольку я обновил OSX до 10.11, я больше не могу использовать MySQL с моим Rails-приложением:

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

Я нашел другие сообщения о похожих проблемах, но я слишком много начинаю в этом отношении, а версии менялись после решения и т.д.

4b9b3361

Ответ 1

Предыдущий ответ (pre El Capitan) заключался в создании символической ссылки из каталога mysql lib для файла библиотеки в /usr/lib, например:

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

Однако теперь это приводит к тому, что "операция не разрешена" из-за контроля целостности ОС OS. Это можно обойти, отключив это. Однако гораздо более простое решение (и одно, которое я могу проверить, сработало) состоит в том, чтобы просто символизировать его в /usr/local/lib вместо:

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

Хорошее яблоко.

Ответ 2

У меня была та же проблема, что и только с открытым терминальным ударом:

sudo nano ~/.bash_profile

вставьте следующие строки:

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

и т.д.