dyld: ไลบรารีไม่ถูกโหลด: /usr/local/opt/openssl/lib/libssl.1.0.dylib


148

ฉันติดตั้งไอผ่าน homebrew และจากนั้นก็อยากจะกระโดดเข้าไปในโครงการโดยการดำเนินการvapor new Helloแต่ได้รับข้อความต่อไปนี้กลับมาใน terminal:

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

คำตอบ:


435

เปลี่ยนเป็นแพ็คเกจ 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...

20
นี่คือทางออกที่ดีที่สุดและง่ายที่สุด แต่ Homebrew จะลบแพ็คเกจที่ไม่สนับสนุน ไม่แน่ใจว่าโซลูชั่นนี้จะหยุดทำงานเมื่อใด
— tom10271

3
@Leopathu คุณช่วยอธิบายได้ไหมว่าทำไมนี่จึงเป็นคำตอบที่ได้รับการอนุมัติไม่ใช่คำตอบที่ฉันอนุมัติ? หากนี่เป็นคำตอบที่ดีกว่าฉันยังคงสามารถอนุมัติได้
— Cronay

10
งานนี้สำหรับฉันด้วยการเปลี่ยนแปลงเล็กน้อยตัวอักษรตัวสุดท้าย "r" brew switch openssl 1.0.2r บน MacOS Catalina
— juanitourquiza

4
ทางออกที่ดีที่สุด Brew Switch 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 ทำงานให้ฉัน
— Andrew Morris

1
ขอบคุณมาก install_name_tool ทำให้วันของฉัน!
— Cédric Moreaux

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 และคำสั่งนี้ช่วยแก้ปัญหานั้นได้!
— Isaac Philip

brew switch openssl 1.0.2p
— Evhz

39
brew switch openssl 1.0.2q

Catalina MacOs เวอร์ชั่น 10.15 ทำงานสำหรับฉัน


ฉันต้องอัปเกรดและอัปเดตบริวเวอรี่ก่อนที่จะทำงาน
— ricks

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 ในกรณีของฉัน ซึ่งจากนั้นใช้ openssl รุ่นใหม่กว่าbrew 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

ดังที่แสดงด้านบนมี "สิทธิ" รุ่น "openssl" เพียงหนึ่งเดียวใน mac ของฉัน จากนั้นสลับไปที่:

$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

นี่ควรเป็นคำตอบที่ยอมรับได้!
— จริง

ฉันใช้เวลาตลอดทั้งวันในการติดตั้งติดตั้ง Rails เวอร์ชั่นใหม่ mysql2 gem พร้อมด้วยธงและตัวเลือกต่าง ๆ สิ่งนี้ได้ผลเหมือนมนต์เสน่ห์! ขอบคุณเพื่อน!
— Martynas Jurkus


18
brew switch openssl 1.0.2r

มันทำงานได้สำหรับฉัน macOS Mojave เวอร์ชัน 10.14.6


มันใช้งานได้สำหรับฉัน (macOS Catalina, ทับทิม 2.4.1, ราง 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เคล็ดลับง่าย ๆสำหรับฉัน
— 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 Catalina, zsh ฉันคิดว่าปัญหาเบื้องต้นมาจาก Catalina

ข้อผิดพลาดที่ฉันได้รับคือ:

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
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.