dyld: библиотека не загружена: /usr/local/opt/openssl/lib/libssl.1.0.0.dylib


151

Я установил пар с помощью homebrew, а затем сразу же захотел перейти в проект, выполнив, vapor new Helloно затем снова получил следующее сообщение в терминале:

dyld: Library not loaded: /usr/local/opt/openssl/lib/libssl.1.0.0.dylib
Referenced from: /usr/local/bin/vapor
Reason: image not found
zsh: abort      vapor new Hello

Я попытался несколько подходов, чтобы исправить это, как удаление и переустановка openssl через brew, но это не сработало. Также попробовал кое-что, что я нашел в Интернете, но ничто не работало. Я предполагаю, что это как-то связано с паром, работающим только с версией 1.0.0, но не с 1.1.1, и это то, что я имею. Я думаю, мне нужно понизиться до 1.0.0, но как мне это сделать? Я на MacOS Catalina, если это имеет значение. Заранее спасибо.


Поддержка OpenSSL 1.1 была добавлена ​​в Vapor: github.com/vapor/open-crypto/pull/75
Михал Цишон,

Это может быть полезно для других: < stackoverflow.com/a/59224109/3776039 >
Unifreak

Я использовал этот метод, чтобы исправить /usr/local/bin/wget(это было выставлено plenv install-cpanm)
DouglasDD

Ответы:


442

Переключиться на более старый пакет openssl

brew switch openssl 1.0.2s

Или, в зависимости от вашей точной конфигурации системы, вам может потребоваться перейти на другую версию. Проверьте выходные данные ls -al /usr/local/Cellar/opensslдля номера версии для переключения.

brew switch openssl 1.0.2q
# or
brew switch openssl 1.0.2r
# or 
brew switch openssl 1.0.2s
# or
brew switch openssl 1.0.2t
# etc...

21
Это лучшее решение и самое простое. Тем не менее, Homebrew удалит пакеты, которые устарели. Не уверен, когда это решение перестанет работать
Tom10271

3
@ Leopathu, можешь ли ты уточнить, почему это должен быть одобренный ответ, а не тот, который я одобрил? Если это лучший ответ, я все еще могу его одобрить.
Cronay

10
Эта работа для меня с небольшим изменением последней буквы "r" brew switch openssl 1.0.2r на MacOS Catalina
juanitourquiza

4
лучшее решение. варочный переключатель openssl 1.0.2t в моем случае
Gold Chicken

14
brew switch openssl 1.0.2tпросто работал на меня. Спасибо чувак.
Джейсон Р

71

Попробуйте использовать install_name_tool:

sudo install_name_tool -change /usr/local/opt/openssl/lib/libssl.1.0.0.dylib /usr/local/opt/openssl/lib/libssl.1.1.dylib $(which vapor)
sudo install_name_tool -change /usr/local/opt/openssl/lib/libcrypto.1.0.0.dylib /usr/local/opt/openssl/lib/libcrypto.1.1.dylib $(which vapor)

В моем случае это начало работать, когда я использовал install_name_tool. Порядок параметра следующий: старое значение (неверное), затем новое значение (где у вас есть openssl) и путь к пару (который может быть легко получен) $(which vapor).


4
Нижний подход решил это для меня, большое спасибо!
Cronay

2
Спасибо!! install_name_tool работал для меня
Эндрю Моррис

1
Большое спасибо, install_name_tool сделал мой день!
Седрик Моро

11
заварить обновление && заварить обновление будет обновить все пакеты, это вызывает ОГРОМНАЯ проблема
tom10271

2
да, пожалуйста, уберите brew upgradeиз ответа @ michal-cichon
macool

68

brew switch openssl 1.0.2s

у меня работал на "macOS Mojave", "версия 10.14.6".


Спасибо, моя таблица 2019.10.3 не открывалась в Mac OS Mojave, и эта команда помогла решить эту проблему!
Исаак Филипп

brew switch openssl 1.0.2p
Евхз

39
brew switch openssl 1.0.2q

MacOs Catalina Версия 10.15 работала на меня


Я должен был обновить и обновить Brew, прежде чем это сработало
Рикс

28

Для MacOS 10.15 Catalina попробуйте установить предыдущий openssl:

brew update && brew upgrade
brew uninstall --ignore-dependencies openssl
brew install https://github.com/tebelorg/Tump/releases/download/v1.0.0/openssl.rb

25

У меня такая же проблема. Я решил это, выполнив эти 2 команды:

brew uninstall vapor
brew install vapor/tap/vapor

Это сработало.


Я только что обновил клиентский инструмент, не паровой, а wget в моем случае. Который затем использовал более позднюю версию opensslbrew upgrade vapor
flurdy

24

во-первых, перечислите детали установленной версии openssl (или других программ):

$ls -al /usr/local/Cellar/openssl*
/usr/local/Cellar/openssl:
total 0
drwxr-xr-x    3 mba  staff    96 Nov 30 17:18 .
drwxrwxr-x  170 mba  admin  5440 Apr  8 02:03 ..
drwxr-xr-x   13 mba  staff   416 Nov 21 03:13 1.0.2t

/usr/local/Cellar/openssl@1.1:
total 0
drwxr-xr-x    4 mba  staff   128 Apr  7 18:35 .
drwxrwxr-x  170 mba  admin  5440 Apr  8 02:03 ..
drwxr-xr-x   14 mba  staff   448 Oct  1  2019 1.1.1d
drwxr-xr-x   14 mba  staff   448 Apr  7 18:35 1.1.1f

как показано выше, в моем Mac есть только одна «правильная» версия «openssl». затем переключитесь на него:

$brew switch openssl 1.0.2t                                 
Cleaning /usr/local/Cellar/openssl/1.0.2t
Opt link created for /usr/local/Cellar/openssl/1.0.2t

Спасибо. Это спасло мой день.
khiav reoy

Спасибо! Это сработало!
Ксанкар

Это должен быть принятый ответ!
ActualAl

Я потратил целый день на установку, переустановку версий rails, гемов mysql2 с различными флагами и опциями. Это работает как шарм! Спасибо друг!
Мартинас Юркус


18
brew switch openssl 1.0.2r

у меня работает, macOS Mojave, версия 10.14.6


У меня это работает (macOS Catalina, ruby ​​2.4.1, rails 5.2.2, openssl 1.1.1f). Перешел на 1.0.2с.
AntonAL



3

Это может быть проблемой из-за наличия более старой версии brew и установленной byobu, которые требуют новой зависимости для решения этой проблемы, выполните следующую команду

brew update && brew upgrade
brew uninstall openssl; brew uninstall openssl; brew install https://github.com/tebelorg/Tump/releases/download/v1.0.0/openssl.rb

1
Простой brew update && brew upgradeсделал свое дело для меня.
Вальканайя

3

Предложение brew update && brew upgradeв качестве решения не является хорошим ответом и, поскольку эта ошибка появляется в большинстве случаев из-за выполнения этого ...

Переключитесь на предыдущую версию, которую вы использовали только: brew switch openssl XXXи все.


Ребята из гугл, актуальный ответ тут.
TrungDQ

2

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

➜ brew update && brew upgrade && brew install openssl
remote: Repository not found.
fatal: repository 'https://github.com/Homebrew/homebrew-dupes/' not found
Error: homebrew/homebrew-dupes does not exist! Run `brew untap homebrew/homebrew-dupes` to remove it.
...
➜ brew untap homebrew/homebrew-dupes
➜ brew update && brew upgrade && brew install openssl

Это было после того, как я работал над этим часами, но впервые увидел доморощенных дупов. Не уверен, как Homebrew знал, что устанавливать, но казалось, что все устанавливается с нуля. macOS Каталина, зш. Я думаю, что первоначальная проблема возникла из-за Каталины

Я получил ошибку:

dlopen(/Users/gscar/.gem/ruby/2.7.0/gems/pg-1.2.2/lib/pg_ext.bundle, 9): Library not loaded: /usr/local/opt/openssl/lib/libssl.1.0.0.dylib (LoadError)
  Referenced from: /usr/local/opt/postgresql/lib/libpq.5.dylib
  Reason: image not found - /Users/gscar/.gem/ruby/2.7.0/gems/pg-1.2.2/lib/pg_ext.bundle

0

Если у вас нет Homebrew или вы не знаете, что это такое

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
brew update && brew upgrade
brew uninstall openssl; brew uninstall openssl; brew install https://github.com/tebelorg/Tump/releases/download/v1.0.0/openssl.rb

Или, если у вас уже установлен Homebrew

brew update && brew upgrade
brew uninstall openssl; brew uninstall openssl; brew install https://github.com/tebelorg/Tump/releases/download/v1.0.0/openssl.rb

Это работает для меня на Mac 10.15


0

Я столкнулся с этой ошибкой с MySQL (версия: 5.6.46_2), Mac (Mojave 10.14.5):

    brew update && brew upgrade
    brew now setup_mysql
    echo ‘export PATH=/usr/local/opt/mysql56/bin:$PATH”’ >> 
    ~/.bash_profile
    /usr/local/opt/mysql56/bin/mysql.server start
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.