Comment éviter l'erreur Dyld: Library not loaded: /usr/local/opt/icu4c/lib/libicui18n.62.dylib sur Mac ?

Avec le gestionnaire de paquet Homebrew, vous pouvez reproduire le fonctionnement des gestionnaires de paquets utilisés dans les distributions Linux sur votre Mac. Cela permet de centraliser la gestion de vos applications et de pouvoir facilement mettre à jour les paquets quand vous en avez besoin. C'est un logiciel très utilisé par les développeurs, car il regroupe plusieurs langages, outils et plateformes avec une même source. Le message d'erreur "Dyld: Library not loaded: /usr/local/opt/icu4c/lib/libicui18n.62.dylib" est lié à un conflit de versions dans les paquets.

En effet, il existe dans les paquets installables avec Homebrew la librairie "icu4c". Cette librairie est utilisée pour la gestion de l'Unicode et de la localisation à destination des langages C, C++ et Java. Elle est notamment utilisée par PHP et Node.js. Le fait d'installer ces deux paquets sur votre Mac peut provoquer une erreur, car la version dans cette librairie ne correspond pas à celle utilisée par l'un des deux paquets. Pour résoudre ce problème, il est d'abord recommandé de mettre à jour ses paquets. On utilise pour cela la commande "brew upgrade", qui va mettre à jour l'intégralité des paquets. Il faut ensuite supprimer les fichiers devenus inutiles suite à cette mise à jour. La commande "brew cleanup" permet de réaliser cette opération.

# Mise à jour des paquets
brew upgrade
# Nettoyage des fichiers
brew cleanup

Cette erreur peut également se produire si la version de la librairie "icu4c" installée n'est pas celle référencée par Homebrew. Pour résoudre ce problème, vous devez d'abord obtenir la version référencée sur votre Mac. La commande "brew info" suivie du nom du paquet permet de réaliser cette opération. Il ne reste qu'à changer la version de la librairie pour correspondre au numéro de version indiqué par la première commande. Utilisez pour cela la commande "brew switch" suivie du nom du paquet puis du numéro de version souhaité.

# Connaître la version référencée sur votre Mac
brew info icu4c
# Changer la version de la librairie pour correspondre au résultat de la commande précédente
brew switch icu4c 

Divers