dyld: Бібліотека не завантажена: /usr/local/opt/openssl/lib/libssl.1.0.0.dylib


147

Я встановив пари через 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
Michal Cichon

Це може бути корисним для інших: < stackoverflow.com/a/59224109/3776039 >
unifreak

Я використовував цей метод, щоб виправити /usr/local/bin/wget(що було викрито plenv install-cpanm)
DouglasDD

Відповіді:


434

Перехід на старіший пакет OpenSL

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...

20
Це найкраще рішення і найпростіше. І все ж Homebrew видалить застарілі пакети. Не впевнений, коли це рішення перестане працювати
tom10271

3
@Leopathu Ви можете пояснити, чому це має бути схвалена відповідь, а не та, яку я схвалив? Якщо це краща відповідь, я все-таки можу це схвалити.
Кронай

10
Ця робота для мене з невеликою зміною останньої літери "r" перемикач пивоваріння openssl 1.0.2r на MacOS Catalina
juanitourquiza

4
найкраще рішення. Перемикач пивоваріння opensl 1.0.2t у моєму випадку
Золота курка

14
brew switch openssl 1.0.2tпросто працював на мене. Спасибі людина.
Джейсон R

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
Дуже дякую, insta_name_tool зробив мій день!
Седрик Моро

11
заварити оновлення && заварити оновлення буде оновити всі пакети, це викликає величезне проблема
tom10271

2
так, будь ласка, видаліть brew upgradeз відповіді @ michal-cichon
macool

65

brew switch openssl 1.0.2s

працював для мене на "macOS Mojave", "версії 10.14.6".


Дякую, що мій Tableau 2019.10.3 не відкривався в Mac OS Mojave, і ця команда допомогла вирішити це!
Ісаак Філіп

brew switch openssl 1.0.2p
Евхз


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

спочатку перерахуйте подробиці встановленої версії opensl (або інших програм) за:

$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

Дякую! Це спрацювало!
ksankar

Це має бути прийнята відповідь!
ActualAl

Я витратив цілий день на встановлення, перевстановлення версій рейок, дорогоцінних каменів mysql2 з різними прапорами та параметрами. Це спрацювало як шарм! Дякую, друже!
Мартінас Юркус


18
brew switch openssl 1.0.2r

він працює для мене, macOS Mojave, версія 10.14.6


Це працює для мене (macOS Catalina, ruby ​​2.4.1, рейки 5.2.2, openssl 1.1.1f). Переключено на 1.0.2 с.
AntonAL



3

Це може бути проблемою через те, що старіша версія варіння та встановлена ​​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зробив трюк для мене.
valcanaia

3

Пропозиція brew update && brew upgradeяк рішення не є гарною відповіддю, і оскільки ця помилка з'являється в більшості випадків через виконання цього ...

Перейдіть на попередню версію, з якою ви використовували лише: brew switch openssl XXXі все.


Хлопці з Google, фактична відповідь тут.
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.