Ошибка запуска rails 4 с привязкой самоцвета mysql2 к 0.4.x (dyld: привязка ленивого символа не удалась: символ не найден: _mysql_server_init) - PullRequest
1 голос
/ 31 января 2020

Я использую Ma c ОС 10.14.6

Мне недавно потребовалось обновление до Ruby 2.4.9

Другие зависимости gemfile привели к увеличению версии gem mysql2 до 0.5.x

Ruby 2.4 не поддерживает это https://github.com/brianmario/mysql2/issues/950#issuecomment -377119554

Поэтому я заблокировал версию mysql2 для 0.4.x

Кроме того, я работает mysql 5.6 и в результате других ошибок я использую следующую команду для установки mysql2 gem

gem install mysql2 -v0.4.0 -- --with-mysql-dir=/usr/local/opt/mysql@5.6

Однако, когда я пытаюсь запустить rails, я получаю следующие ошибки

dyld: lazy symbol binding failed: Symbol not found: _mysql_server_init
  Referenced from: /Users/developer/.gem/ruby/2.4.9/gems/mysql2-0.4.10/lib/mysql2/mysql2.bundle
  Expected in: flat namespace

dyld: Symbol not found: _mysql_server_init
  Referenced from: /Users/developer/.gem/ruby/2.4.9/gems/mysql2-0.4.10/lib/mysql2/mysql2.bundle
  Expected in: flat namespace

Я читал, что это, возможно, связано с 32-разрядной и 64-разрядной установочными версиями, но при использовании версии бочки mysql Я не уверен, как установить правильную версию gem.

...