гем mysql2, настаивающий на использовании openssl 1.0 вместо 1.1 - PullRequest
0 голосов
/ 16 июня 2020

Я недавно обновил openssl до версии 1.1 и переустановил ruby 2.5.3 для одного из наших приложений rails.

Однако я получаю сообщение об ошибке:

/Users/cameron/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/bootsnap-1.4.5/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:22:in `require': dlopen(/Users/cameron/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/mysql2-0.4.10/lib/mysql2/mysql2.bundle, 9): Library not loaded: /usr/local/opt/openssl/lib/libssl.1.0.0.dylib (LoadError)
  Referenced from: /usr/local/opt/mysql/lib/libmysqlclient.20.dylib
  Reason: image not found - /Users/cameron/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/mysql2-0.4.10/lib/mysql2/mysql2.bundle

В моем .zshrc У меня на пути есть следующее:

export PATH="/usr/local/opt/openssl@1.1/bin:$PATH"
export LDFLAGS="-L/usr/local/opt/openssl@1.1/lib"
export CPPFLAGS="-I/usr/local/opt/openssl@1.1/include"

И я попытался удалить mysql2 и переустановить его следующим образом:

gem install mysql2 -v 0.4.10 -- --with-cflags=\"-I/usr/local/opt/openssl@1.1/include\" --with-ldflags=\"-L/usr/local/opt/openssl@1.1/lib\"

Но ошибка продолжает повторяться ...

Почему гем mysql2 все еще пытается использовать 1.0.0 вместо 1.1?

1 Ответ

0 голосов
/ 16 июня 2020

Для тех, кто сталкивается с этой проблемой ... исправление довольно раздражающее, но простое.

Совершенно буквально:

source ~/.zshrc или source ~/.bash_profile

Вы даже не нужно использовать --with-cflags --with-ldflags ... и переустанавливать гем mysql2. После того, как вы повторно связали свой профиль с openssl в пути, достаточно простого bundle install, и все снова будет работать!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...