Mesmo que a solução na resposta aceita funcione, não é a maneira certa de resolver o problema. Isso viola a integridade dos metadados do brew.
Problema
O problema é que a jpeg
fórmula do Homebrew foi atualizada para a v9, mas a fórmula PHP "engarrafada" existente ainda é construída e vinculada à versão anterior, v8, que não existe mais em seu sistema.
Você tem algumas opções para corrigir o problema.
1. Recompilar a phpxx
fórmula da fonte (altamente recomendado)
Desinstale sua fórmula php e reconstrua-a a partir da fonte em vez de usar a versão engarrafada. Dessa forma, o php usará e vinculará a versão atualmente instalada do jpeg
. Supondo que você esteja lidando com php71
:
brew reinstall php71 --build-from-source
2. Faça downgrade da jpeg
fórmula da maneira certa (preferível a recompilá-la manualmente)
Se você não correu brew cleanup
, você já tem a jpeg
versão anterior na adega da sua cerveja, mude para ela:
brew switch jpeg 8d
Se receber um jpeg does not have a version "8d" in the Cellar.
erro, primeiro você precisa restaurá-lo, revertendo o histórico:
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
Você pode descobrir o hash de commit usando brew log jpeg
e examinando as mensagens de commit.
A desvantagem é que pode haver outras fórmulas que requerem que a versão mais recente funcione corretamente, por exemplo imagemagick
. Se você enfrentar esses problemas de incompatibilidade, verifique a primeira solução acima.
3. Downgrade jpeg
recompilando manualmente (não recomendado)
Busque o código-fonte, compile e sobrescreva a versão do brew. Consulte a resposta de Denis para obter detalhes.
Isso não é recomendado porque viola a integridade dos metadados do seu brew. Brew acha que tem a versão 8b, no entanto, você compilou manualmente o 9b e substituiu os arquivos.
4. Link simbólico manualmente para a versão antiga (sério?)
Não vincule manualmente o que sobrou libjpeg.8.dylib
. Se o arquivo estiver lá, você pode acessá brew switch
-lo conforme mencionado na segunda solução acima.
É apenas o pior hack que você pode fazer aqui.
Esses problemas serão eventualmente corrigidos .
brew doctor
ebrew list
?