Il problema chiave è che il tuo postgresql stava cercando di trovare la libreadline.6.2.dylib
tua ma readline
è la versione 7.0
, quindi è collegata solo la lib di 7.
Non credo che l'aggiornamento di postgresql sia una buona idea, non è facile e può causare molti problemi, specialmente quando si hanno già i dati del database.
Quello che faccio è cambiare la versione di readline
. Quando controlli brew info readline
, troverai diverse versioni, la mia è 6.3.8
, quindi passo a quella versione eseguendo:
$ brew switch readline 6.3.8
Passerà a 6.3.8 e creerà il collegamento:
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
In questo caso, tutte le librerie collegate diventano alla versione 6 e la riga di comando funziona:
$ 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
Tuttavia, se hai app diverse che utilizzano la diversa versione di readline, penso che dovresti prendere in considerazione l'aggiornamento.
Aggiornamento: 06/02/2019
Cosa succede se la vecchia versione non è installata?
Homebrew
non fornisce un modo per installare la vecchia versione della formula. E dalla v2.0.0, verrà eseguito brew cleanup
come comportamento predefinito ogni 30 giorni. Pertanto, è possibile aggiornare brew
ed eliminare accidentalmente la versione precedente.
Ecco i passaggi per installare la vecchia versione:
- Vai alla
homebrew-core
directory:
$ cd $(brew --repository)/Library/Taps/homebrew/homebrew-core
- Controlla l'hash per la vecchia formula:
$ git log master -- Formula/readline.rb
- Trova la versione corrispondente del valore hash
commit 1dd4221c35716d6bec363ad3425ef93ffe7d9b9f
Author: BrewTestBot <brew-test-bot@googlegroups.com>
Date: Wed Aug 15 21:51:16 2018 +0000
readline: update 7.0.5 bottle.
- Acquista alla vecchia formula:
$ git checkout 1dd4221c35716d6bec363ad3425ef93ffe7d9b9f Formula/readline.rb
- Reinstalla la formula:
$ brew reinstall readline
- Ripristina il repository
Seguendo questi passaggi, è possibile reinstallare la vecchia versione della formula.