macOS ที่พัฒนาและจัดจำหน่ายโดย Apple ถือเป็นหนึ่งในระบบปฏิบัติการที่น่าเชื่อถือที่สุดในปัจจุบัน ใช้งานกันอย่างแพร่หลายโดยผู้เชี่ยวชาญที่ต้องการใช้คอมพิวเตอร์เพื่อวัตถุประสงค์ทางธุรกิจ อย่างไรก็ตาม ไม่กี่วันมานี้ มีรายงานมาจำนวนมากเกี่ยวกับข้อผิดพลาด "Dyld: Library Not Loaded" บน macOS ในบทความนี้ เราจะอธิบายสาเหตุที่ทำให้เกิดข้อผิดพลาดนี้และเสนอวิธีแก้ไขที่เป็นไปได้
สาเหตุของข้อผิดพลาด "Dyld: Library Not Loaded" บน macOS
หลังจากได้รับรายงานจำนวนมาก เราได้สืบสวนปัญหาและระบุสาเหตุที่ทำให้เกิดข้อผิดพลาดนี้
- ตำแหน่งไม่ถูกต้อง: ข้อผิดพลาดนี้เกิดขึ้นเมื่อคอมพิวเตอร์พยายามค้นหาไฟล์
libmysqlclient.18.dylibหรือไฟล์ที่คล้ายกันภายใต้ตำแหน่ง/usr/libซึ่งไฟล์ดังกล่าวไม่ได้อยู่ในตำแหน่งนี้ ทำให้เกิดข้อผิดพลาด
ตอนนี้คุณเข้าใจลักษณะปัญหาแล้ว เราจะไปสู่วิธีแก้ไข โปรดดำเนินการตามลำดับที่กำหนดเพื่อหลีกเลี่ยงความขัดแย้ง
วิธีแก้ไขที่ 1: การสร้าง Symbolic Link
สามารถแก้ไขปัญหาได้โดยการสร้าง Symbolic Link ในไดเรกทอรีที่คอมพิวเตอร์กำลังตรวจสอบไฟล์ .dylib ขั้นตอนดังนี้:
- ไปที่ โฟลเดอร์ /usr/lib
- กด Command + Space พร้อมกัน
- พิมพ์ Terminal แล้วกด Enter
- พิมพ์ คำสั่งต่อไปนี้ในเทอร์มินัลแล้วกด Enter:
sudo ln -s /path/to/your/libmysqlclient.18.dylib /usr/lib/libmysqlclient.18.dylib
ตัวอย่างคำสั่ง:
sudo ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/lib/libmysqlclient.18.dylib
- ตรวจสอบ ว่าปัญหายังคงอยู่หรือไม่
วิธีแก้ไขที่ 2: อัปเดต Homebrew
ในบางกรณี ไฟล์นี้หายไปจากไดเรกทอรีเนื่องจากการติดตั้ง Homebrew ที่ล้าสมัย ดังนั้นขั้นตอนนี้เราจะอัปเดต Homebrew:
- กด Command + Space พร้อมกัน
- พิมพ์ Terminal แล้วกด Enter
- พิมพ์ คำสั่งต่อไปนี้ในเทอร์มินัลแล้วกด Enter:
brew update
- พิมพ์คำสั่งต่อไปนี้อีกครั้งแล้วกด Enter:
brew upgrade
- ตรวจสอบ ว่าปัญหายังคงอยู่หรือไม่
วิธีแก้ไขที่ 3: รันสคริปต์ "Copy_dylibs.py"
ในบางกรณี การอ้างอิงไฟล์ .dylib ไม่ถูกต้อง ทำให้เกิดข้อผิดพลาด ขั้นตอนนี้เราจะรันสคริปต์ที่จะตรวจจับและแก้ไขปัญหาโดยอัตโนมัติ:
- คลิก ลิงก์นี้เพื่อดาวน์โหลดสคริปต์
- แยกไฟล์ ไฟล์ .zip
- อ่าน ไฟล์ readme ที่อยู่ใน .zip อย่างละเอียดเพื่อดูคำแนะนำโดยละเอียด
- รัน สคริปต์ copy_dylibs.py และปล่อยให้มันแก้ไขปัญหา
- ตรวจสอบ ว่าปัญหายังคงอยู่หรือไม่