with usr template specific sierra remove referenced rails opt not node mac library libicui18n lib icu4c from found error desinstalar delete completely php node.js macos homebrew

template - dyld: Biblioteca no cargada:/usr/local/opt/icu4c/lib/libicui18n.62.dylib error al ejecutar php después de instalar el nodo con brew en Mac



remove node js mac sierra (12)

Instalé el nodo usando homebrew (Mojave), luego php dejó de funcionar y si intento ejecutar php -v obtengo este error:

php -v dyld: Library not loaded: /usr/local/opt/icu4c/lib/libicui18n.62.dylib Referenced from: /usr/local/bin/php Reason: image not found

Intenté desinstalar el nodo y el icu4c pero el problema persiste


Nota : esto actualizará su versión de PHP.

Acabo de tener este mismo problema. La actualización de Homebrew y luego la limpieza funcionó para mí. Este error probablemente se me apareció debido a una discrepancia en las versiones del paquete. Ninguna de las soluciones anteriores resolvió mi error.

brew upgrade

Precaución : esto mejorará todos tus paquetes de preparación. Si solo desea actualizar paquetes específicos, asegúrese de ser específico.

brew upgrade {package}

y entonces

brew cleanup


Consiguió este error, también, después de instalar PHP 7.3. Lo resolví actualizando solo las versiones anteriores de mi php (5.6 y 7.0, no de los repositorios oficiales).

Los mantenedores habían compilado nuevas versiones de php contra el actual icu4c.

En mi caso, PHP 7 obtuvo de 0.31 a 0.33, y el problema se resolvió.


Ejecute la npm version y vea si ve el mismo error.

Si es así, actualice su versión de nodo brew upgrade npm .

==> Upgrading 1 outdated package, with result: npm 8.1.2 -> 10.3.0 ==> Upgrading npm ==> Installing dependencies for node: icu4c ==> Installing node dependency: icu4c

Credits


En lugar de instalar una versión antigua de icu4c que se puede vincular el php anterior (precompilado), es mejor recompilar el php antiguo para vincularlo a la biblioteca más reciente.

brew uninstall [email protected] brew install --build-from-source [email protected]

Esto construirá php y lo vinculará a la biblioteca más nueva. Encontré que reinstall no funcionó del todo; la nueva instalación se ahogó cuando la carpeta de destino ya existía.

También realicé el brew link --force [email protected] para mi entorno.


En mi caso, eso sucedió porque icu4c se actualizó a la versión 63, pero mi imagen postgres instalada localmente todavía se refería a icu4c 62.1. Por eso tuve que cambiar la versión de icu4c utilizada:

brew info icu4c brew switch icu4c <version>

Donde version es la versión instalada devuelta por info


En realidad, estoy bastante sorprendido de que esta solución no haya sido presentada todavía, y creo que es la solución más fácil.

Vaya a GitHub, encuentre la versión de brewfile que coincida con la versión de icu4c que necesita y obtenga la versión en bruto del archivo (siga los enlaces de arriba y haga clic en View File luego en Raw ).

Luego simplemente haz que se vuelva a instalar desde ese url.

Por ejemplo, la versión 62.1 :

brew reinstall https://raw.githubusercontent.com/Homebrew/homebrew-core/575eb4bbef683551e19f329f60456b13a558132f/Formula/icu4c.rb


La respuesta de Leland funcionó para mí, pero tuve que cambiar los pasos 4 y 6 para:

4) git checkout -B icu4c-62.1 575eb4b

6) brew reinstale Formula / icu4c.rb


Parece que es imposible vincular icu4c usando brew después de la última actualización de OS X. Lo que hace las cosas más interesantes. La única solución que encontré trabajando para mí:

  1. Descargue y compile icu4c 62.1 en /usr/local/icu4c/62.1

mkdir ~/sources cd ~/sources wget http://download.icu-project.org/files/icu4c/62.1/icu4c-62_1-src.tgz tar xvzf icu4c-62_1-src.tgz cd icu/source/ sudo mkdir /usr/local/icu4c/62.1 ./configure --prefix=/usr/local/icu4c/62.1 make sudo make install

  1. Enlace libs:

ln -s /usr/local/icu4c/62.1/lib/*.dylib /usr/local/include/

  1. Establezca DYLD_LIBRARY_PATH en ~/.bash_profile :

export DYLD_LIBRARY_PATH=/usr/local/include

Espero que te ahorre unas horas de tu tiempo.


Resulta que yo, como @Grey Black, tuve que instalar v62.1 de icu4c. Nada más funcionó.

Sin embargo, el brew switch icu4c 62.1 solo funciona si ha instalado 62.1 en el pasado. Si no tienes más trabajo de piernas involucrado. Homebrew no facilita la instalación de versiones anteriores de fórmulas.

Así es como lo hice:

  1. Primero necesitamos un clon profundo del repo de Homebrew. Esto puede llevar un tiempo: git -C $(brew --repo homebrew/core) fetch --unshallow
  2. brew log icu4c para rastrear una confirmación que hace referencia a 62.1; 575eb4b hace el truco.
  3. cd $(brew --repo homebrew/core)
  4. git checkout 575eb4b -- Formula/icu4c.rb
  5. brew uninstall --ignore-dependencies icu4c
  6. brew install icu4c ¡Ahora debería tener la versión correcta de la dependencia! Ahora solo para ...
  7. git reset && git checkout . Limpia tu receta modificada.

Se agregaron un par de notas adicionales, gracias a @Noah por la captura.


Simplemente brew remove php y brew install php no funcionaron, ni brew reinstall php . Mi solución fue hacer:

brew remove php cd /usr/local/Cellar rm -rf php/ brew install php brew doctor brew cleanup

Ahora php -v me da:

PHP 7.3.2 (cli) (built: Feb 14 2019 10:08:45) ( NTS )


Tuve el mismo problema después de actualizar mi macOS a la versión 10.13.6 . No puedo ejecutar comandos de php y composer . Después de investigar por un tiempo e intentar varias soluciones publicadas en línea, reinstalar php usando homebrew funcionó.

brew reinstall [email protected]

Agregado el 14 de marzo basado en el comentario de Ryan

obtenga la versión que está utilizando actualmente ejecutando php -v y obtenga las fórmulas correctas (que puede encontrar aquí: https://formulae.brew.sh/formula/php ) para reemplazar @7.1 en el comando anterior.


Tuve problemas porque mi versión de PHP (7.3) esperaba icu4c 63 y brew solo instalaría 64.

https://.com/a/55828190/2000947 me ayudó a instalar 63.