Библиотека не загружена: ошибка libmysqlclient.16.dylib при попытке запустить 'rails server' на OS X 10.6 с помощью mysql2 gem - PullRequest
206 голосов
/ 28 декабря 2010

Я уже некоторое время борюсь с этим.

Я установил Rails 3, gem, mysql на свой компьютер Snow Leopard. Все шло хорошо, пока я не создал свой первый проект и не попытался запустить

rails server

После запуска я получаю:

jontybrook$ rails server
/Library/Ruby/Gems/1.8/gems/mysql2-0.2.6/lib/mysql2/mysql2.bundle: dlopen(/Library/Ruby/Gems/1.8/gems/mysql2-0.2.6/lib/mysql2/mysql2.bundle, 9): Library not loaded: libmysqlclient.16.dylib (LoadError)
  Referenced from: /Library/Ruby/Gems/1.8/gems/mysql2-0.2.6/lib/mysql2/mysql2.bundle
  Reason: image not found - /Library/Ruby/Gems/1.8/gems/mysql2-0.2.6/lib/mysql2/mysql2.bundle
    from /Library/Ruby/Gems/1.8/gems/mysql2-0.2.6/lib/mysql2.rb:7
    from /Library/Ruby/Gems/1.8/gems/bundler-1.0.7/lib/bundler/runtime.rb:64:in `require'
    from /Library/Ruby/Gems/1.8/gems/bundler-1.0.7/lib/bundler/runtime.rb:64:in `require'
    from /Library/Ruby/Gems/1.8/gems/bundler-1.0.7/lib/bundler/runtime.rb:62:in `each'
    from /Library/Ruby/Gems/1.8/gems/bundler-1.0.7/lib/bundler/runtime.rb:62:in `require'
    from /Library/Ruby/Gems/1.8/gems/bundler-1.0.7/lib/bundler/runtime.rb:51:in `each'
    from /Library/Ruby/Gems/1.8/gems/bundler-1.0.7/lib/bundler/runtime.rb:51:in `require'
    from /Library/Ruby/Gems/1.8/gems/bundler-1.0.7/lib/bundler.rb:112:in `require'
    from /Users/jontybrook/Dropbox/CODING/simple_cms/config/application.rb:7
    from /Library/Ruby/Gems/1.8/gems/railties-3.0.3/lib/rails/commands.rb:28:in `require'
    from /Library/Ruby/Gems/1.8/gems/railties-3.0.3/lib/rails/commands.rb:28
    from /Library/Ruby/Gems/1.8/gems/railties-3.0.3/lib/rails/commands.rb:27:in `tap'
    from /Library/Ruby/Gems/1.8/gems/railties-3.0.3/lib/rails/commands.rb:27
    from script/rails:6:in `require'
    from script/rails:6
jontybrook$ 

Насколько я могу судить, проблема в самоцвете mysql2. MySQL, кажется, работает нормально, и мой Gemfile ссылается на mysql2, мой файл database.yml также выглядит нормально.

Ошибка упоминает

Reason: image not found - /Library/Ruby/Gems/1.8/gems/mysql2-0.2.6/lib/mysql2/mysql2.bundle

И еще

jontybrook$ cd /Library/Ruby/Gems/1.8/gems/mysql2-0.2.6/lib/mysql2
jontybrook$ ls
client.rb   em.rb       error.rb      mysql2.bundle result.rb

MySQL2.bundle есть!?

Если я использую старый самоцвет mysql, WEBrick загружается нормально. Но это не идеально, правда?

Я перепробовал все, что может дать мне Google! Любая помощь высоко ценится.

Ответы [ 24 ]

1 голос
/ 13 ноября 2015

Моя версия команды luvlss:

Mac OSX 10.10.5

MySQL 5.6.27

Passenger 5.0.21

sudo ln -s /usr/local/mysql-5.6.27-osx10.8-x86_64/lib/libmysqlclient.18.dylib /usr/lib/libmysqlclient.18.dylib

Если вы пробуете много разных ссылок, как я, сделайте некоторую очистку с помощью:

sudo unlink /usr/lib/libmysqlclient.18.dylib

0 голосов
/ 06 апреля 2018

Для меня мне пришлось вручную удалить MySQL

brew uninstall mysql
rm -rf /usr/local/var/mysql
brew install mysql
0 голосов
/ 16 сентября 2016

Откройте Терминал и выполните следующее:

export PATH=$PATH:/usr/local/mysql/bin

Это должно работать.

0 голосов
/ 19 февраля 2016

Если вы используете OSX и установили mysql с помощью brew, вы можете:

brew link mysql

Если у вас возникли проблемы с версией (у меня был запущен mysql 5.7, а мой гем требовал 5.6.25), вы можете

brew unlink mysql
brew switch mysql 5.6.25
...