ปัญหาหลักคือ postgresql ของคุณพยายามค้นหาlibreadline.6.2.dylib
แต่readline
รุ่นของคุณ7.0
ดังนั้นจึงมีการเชื่อมโยง lib ของ 7 เท่านั้น
ฉันไม่คิดว่าการอัพเกรด postgresql เป็นความคิดที่ดีมันไม่ใช่เรื่องง่ายและอาจทำให้เกิดปัญหามากโดยเฉพาะเมื่อคุณมีฐานข้อมูลอยู่แล้ว
readline
สิ่งที่ฉันทำคือการสลับรุ่นของ เมื่อคุณตรวจสอบbrew info readline
คุณจะพบกับรุ่นที่แตกต่างกันเป็นของฉัน6.3.8
ดังนั้นฉันจึงเปลี่ยนเป็นรุ่นนั้นโดยดำเนินการ:
$ brew switch readline 6.3.8
มันจะเปลี่ยนเป็น 6.3.8 และสร้างลิงค์:
Cleaning /usr/local/Cellar/readline/6.3.8
Cleaning /usr/local/Cellar/readline/7.0.1
Opt link created for /usr/local/Cellar/readline/6.3.8
ในกรณีนี้ lib ที่เชื่อมโยงทั้งหมดจะกลายเป็น 6 เวอร์ชันและบรรทัดคำสั่งทำงานได้
$ ls /usr/local/opt/readline/lib/
libhistory.6.2.dylib libhistory.dylib libreadline.a
libhistory.6.3.dylib libreadline.6.2.dylib libreadline.dylib
libhistory.6.dylib libreadline.6.3.dylib
libhistory.a libreadline.6.dylib
อย่างไรก็ตามหากคุณมีแอพที่แตกต่างกันโดยใช้ readline เวอร์ชันต่าง ๆ ฉันคิดว่าคุณควรพิจารณาอัปเกรด
อัปเดต: 06/02/2019
จะทำอย่างไรถ้าไม่ได้ติดตั้งเวอร์ชั่นเก่า
Homebrew
ไม่มีวิธีในการติดตั้งสูตรเวอร์ชันเก่า และตั้งแต่ v2.0.0 มันจะทำงานbrew cleanup
เป็นพฤติกรรมเริ่มต้นทุก ๆ 30 วัน ดังนั้นคุณอาจอัปเดตbrew
และลบเวอร์ชันเก่าโดยไม่ตั้งใจ
นี่คือขั้นตอนในการติดตั้งเวอร์ชั่นเก่า:
- ไปที่
homebrew-core
ไดเรกทอรี:
$ cd $(brew --repository)/Library/Taps/homebrew/homebrew-core
- ตรวจสอบแฮชสำหรับสูตรเก่า:
$ git log master -- Formula/readline.rb
- ค้นหาเวอร์ชันแฮชที่สอดคล้องกัน
commit 1dd4221c35716d6bec363ad3425ef93ffe7d9b9f
Author: BrewTestBot <brew-test-bot@googlegroups.com>
Date: Wed Aug 15 21:51:16 2018 +0000
readline: update 7.0.5 bottle.
- ชำระเงินเป็นสูตรเก่า:
$ git checkout 1dd4221c35716d6bec363ad3425ef93ffe7d9b9f Formula/readline.rb
- ติดตั้งสูตรอีกครั้ง:
$ brew reinstall readline
- รีเซ็ต repo
ทำตามขั้นตอนเหล่านี้คุณสามารถติดตั้งสูตรเวอร์ชันเก่าอีกครั้ง