Anche se la soluzione nella risposta accettata funziona, non è il modo giusto per risolvere il problema. Viola l'integrità dei metadati di brew.
Problema
Il problema è che la jpeg
formula di Homebrew è stata aggiornata alla v9 ma la formula PHP "imbottigliata" esistente è ancora costruita e collegata alla versione precedente, v8, che non esiste più sul tuo sistema.
Hai alcune opzioni per risolvere il problema.
1. Ricompila la phpxx
formula dall'origine (altamente consigliato)
Disinstalla la tua formula php e ricostruiscila dalla fonte invece di usare la versione in bottiglia. In questo modo, php utilizzerà e collegherà alla versione attualmente installata di jpeg
. Supponendo che tu abbia a che fare con php71
:
brew reinstall php71 --build-from-source
2. Esegui jpeg
il downgrade della formula nel modo giusto (preferibilmente rispetto alla ricompilazione manuale)
Se non hai eseguito brew cleanup
, hai già la jpeg
versione precedente nella cantina della tua birra, passa ad essa:
brew switch jpeg 8d
Se ricevi un jpeg does not have a version "8d" in the Cellar.
errore, devi prima ripristinarlo ripristinando la cronologia:
cd $(brew --prefix)/Homebrew/Library/Taps/homebrew/homebrew-core
git checkout b231469
HOMEBREW_NO_AUTO_UPDATE=1 brew install jpeg
git checkout master
brew switch jpeg 8d
Puoi trovare l'hash del commit usando brew log jpeg
e passando attraverso i messaggi di commit.
Lo svantaggio è che potrebbero esserci altre formule che richiedono la versione più recente per funzionare correttamente, ad es imagemagick
. Se riscontri problemi di incompatibilità, controlla la prima soluzione sopra.
3. Downgrade jpeg
ricompilando manualmente (non consigliato)
Recupera il sorgente, compila e sovrascrivi la versione di brew. Fare riferimento alla risposta di Denis per i dettagli.
Questo non è consigliato perché viola l'integrità dei metadati della tua birra. Brew pensa di avere la versione 8b, tuttavia, hai compilato manualmente 9b e hai sovrascritto i file.
4. Collegamento simbolico manuale della vecchia versione (sul serio?)
Non creare manualmente un collegamento simbolico al rimanente libjpeg.8.dylib
. Se il file è lì, puoi semplicemente brew switch
accedervi come menzionato nella seconda soluzione sopra.
È solo il peggior trucco che puoi fare qui.
Tali problemi verranno eventualmente risolti .
brew doctor
ebrew list
?