Aunque la solución en la respuesta aceptada funciona, no es la forma correcta de solucionar el problema. Viola la integridad de los metadatos de brew.
Problema
El problema es que la jpeg
fórmula de Homebrew se ha actualizado a v9, pero la fórmula PHP "embotellada" existente todavía está construida y vinculada a la versión anterior, v8, que ya no existe en su sistema.
Tiene algunas opciones para solucionar el problema.
1. Vuelva a compilar la phpxx
fórmula de origen (muy recomendable)
Desinstale su fórmula php y vuelva a generarla desde la fuente en lugar de usar la versión embotellada. De esta manera, php usará y se vinculará con la versión actualmente instalada de jpeg
. Suponiendo que está tratando con php71
:
brew reinstall php71 --build-from-source
2. Degradar la jpeg
fórmula de la manera correcta (es preferible que volver a compilarla manualmente)
Si no ha ejecutado brew cleanup
, ya tiene la jpeg
versión anterior en la bodega de su cerveza, cámbiela:
brew switch jpeg 8d
Si recibe un jpeg does not have a version "8d" in the Cellar.
error, primero debe restaurarlo revirtiendo el historial:
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
Puede averiguar el hash de confirmación utilizando brew log jpeg
y revisando los mensajes de confirmación.
La desventaja es que puede haber otras fórmulas que requieran que la versión más nueva funcione correctamente, por ejemplo imagemagick
. Si tiene problemas de incompatibilidad, consulte la primera solución anterior.
3. Cambie de categoría jpeg
mediante la recompilación manual (no recomendado)
Obtenga la fuente, compile y sobrescriba la versión de brew. Consulte la respuesta de Denis para obtener más detalles.
Esto no se recomienda porque viola la integridad de sus metadatos de preparación. Brew cree que tiene la versión 8b, sin embargo, usted compiló manualmente 9b y sobrescribió los archivos.
4. Enlace simbólico manual a la versión anterior (¿en serio?)
No enlace simbólicamente manualmente las sobras libjpeg.8.dylib
. Si el archivo está allí, puede brew switch
hacerlo como se menciona en la segunda solución anterior.
Es el peor truco que puedes hacer aquí.
Estos problemas se solucionarán eventualmente .
brew doctor
ybrew list
?