Comment corriger l'erreur dyld avec libicui18n.62.dylib après l'installation de Node via Brew sur Mac

Formateur Python en ligne pour débutants

Apprenez Python facilement sans surcharge théorique. Résolvez des tâches pratiques avec vérification automatique et écrivez du code directement dans le navigateur.

Start Course

Introduction : La douleur familière de tout développeur sur Mac

\n\n

Vous avez mis à jour Node.js via Homebrew, lancé votre script PHP préféré — et soudain, vous voyez ce message glaçant :

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

Du calme, rien que du calme ! Si vous êtes arrivé sur cette page, c'est que vous n'êtes ni le premier ni le dernier développeur à rencontrer cette erreur. Sur Stack Overflow, cette question a recueilli des milliers de vues, et ce n'est pas pour rien : le problème survient à cause d'un conflit de versions de la bibliothèque ICU4C (International Components for Unicode for C) après l'installation ou la mise à jour de Node.js via Homebrew.

\n\n

Dans ce tutoriel, je vais vous montrer trois méthodes efficaces pour corriger l'erreur, expliquer sa cause profonde et vous donner des recommandations utiles pour que vous ne voyiez plus jamais ce message. C'est parti !

\n\n

Pourquoi l'erreur dyld : Library not loaded se produit-elle ?

\n\n

Avant de vous précipiter pour corriger, comprenons les causes. Cela vous aidera à mieux comprendre l'écosystème macOS et Homebrew.

\n\n

Qu'est-ce qu'ICU4C et quel est son rapport avec PHP ?

\n\n

ICU4C est une bibliothèque pour la prise en charge d'Unicode, de l'internationalisation et de la localisation. PHP l'utilise pour des fonctions comme mb_convert_encoding(), l'extension intl et d'autres. Homebrew installe ICU4C comme dépendance pour de nombreux paquets, y compris PHP et Node.js.

\n\n

La chaîne d'événements menant à l'erreur

\n\n
    \n
  1. Vous installez ou mettez à jour Node.js via brew install node ou brew upgrade node.
  2. \n
  3. Node.js nécessite une version spécifique d'ICU4C (par exemple, 62.x).
  4. \n
  5. Homebrew met à jour ICU4C vers une nouvelle version (par exemple, 63.x ou 64.x).
  6. \n
  7. L'ancienne bibliothèque libicui18n.62.dylib est supprimée.
  8. \n
  9. PHP, qui a été compilé avec la version 62, ne trouve pas la bibliothèque nécessaire — et plante avec une erreur.
  10. \n
\n\n

En termes simples : PHP est resté « dans le passé », tandis que les bibliothèques sont déjà « dans le futur ».

\n\n

Méthode 1 : Solution rapide — relier ICU4C (recommandé pour les débutants)

\n\n

C'est la méthode la plus simple et la plus rapide, qui résout le problème dans 90 % des cas.

\n\n

Étape 1 : Vérifiez la version actuelle d'ICU4C

\n\n

Ouvrez le Terminal et exécutez :

\n\n
brew list --versions icu4c
\n\n

Vous verrez quelque chose comme icu4c 63.1 ou 64.2. Notez la version — elle vous sera utile.

\n\n

Étape 2 : Reliez ICU4C avec PHP

\n\n

Exécutez la commande pour relier :

\n\n
brew link --force icu4c
\n\n

Si vous voyez un avertissement indiquant que les versions ne correspondent pas — ne paniquez pas. C'est normal. Ensuite, redémarrez PHP :

\n\n
which php\nphp -v
\n\n

Si l'erreur a disparu — bravo ! Sinon, passez à la méthode suivante.

\n\n

Étape 3 : Variante alternative — relier de force

\n\n

Si la commande ci-dessus n'a pas fonctionné, essayez :

\n\n
brew reinstall icu4c\nbrew link --overwrite icu4c
\n\n

Cela réinstallera la bibliothèque et mettra à jour tous les liens.

\n\n

Méthode 2 : Réinstallation de PHP via Homebrew (pour ceux qui aiment la propreté)

\n\n

Si le reliage n'a pas aidé — cela signifie que votre PHP est « figé » sur une ancienne version d'ICU4C. La meilleure solution est de réinstaller PHP.

\n\n

Étape 1 : Supprimez la version actuelle de PHP

\n\n
brew uninstall php
\n\n

Si vous avez plusieurs versions de PHP (par exemple, 7.4 et 8.0), supprimez-les toutes :

\n\n
brew uninstall php@7.4 php@8.0
\n\n

Étape 2 : Nettoyez le cache de Homebrew

\n\n
brew cleanup
\n\n

Étape 3 : Réinstallez PHP

\n\n
brew install php
\n\n

Ou, si vous avez besoin d'une version spécifique :

\n\n
brew install php@8.1
\n\n

Étape 4 : Vérifiez le fonctionnement

\n\n

Écrivez un script PHP simple pour vérifier :<

Blogs

Book Recommendations