96 votes

La mise à jour de brew a cassé Vim sous OS X (dyld : Library not loaded)

Je n'ai pas couru brew update && brew upgrade pendant une longue période.

Je viens de faire une mise à jour massive qui s'est avérée casser mon Vim.

Voici ce que j'ai obtenu après avoir exécuté vim :

dyld: Library not loaded: /usr/local/opt/ruby/lib/libruby.2.3.0.dylib
  Referenced from: /usr/local/bin/vim
  Reason: image not found
Trace/BPT trap: 5

J'ai trouvé quelques sites Web, mais aucun n'était vraiment utile.

Ils ont dit que cela pouvait être lié à rvm mais brew uninstall vim; rvm system; brew install vim n'a pas aidé. J'ai également essayé de réinstaller mon MacVim mais cela n'a pas résolu le problème.

Ajout de export PATH="/usr/local/bin:$PATH" à mon .bash_profile n'a pas aidé non plus.

Voici la liste pour référence future :

Qu'est-il arrivé à mon Vim ? Comment puis-je le réparer ?

104voto

kenorb Points 22006

Solution

Essayez de réinstaller ruby y vim par exemple

brew reinstall ruby vim

Dépannage

Voici d'autres suggestions si ce qui précède ne vous aide pas :

  • Trouvez toutes les références à DYLD_LIBRARY_PATH , DYLD_FALLBACK_LIBRARY_PATH o DYLD_FRAMEWORK_PATH variables d'environnement et les supprimer du Shell Shell de démarrage (ex. ~/.bashrc , ~/.bash_profile etc.).

36voto

Mateusz Piotrowski Points 3608

En résumé

brew link --overwrite ruby

Détails

En fait, cela s'est avéré être assez simple. J'ai suivi la suggestion à exécuter brew doctor et j'ai obtenu ces résultats :

Warning: You have unlinked kegs in your Cellar
Leaving kegs unlinked can lead to build-trouble and cause brews that depend on
those kegs to fail to run properly once built. Run `brew link` on these:
    ruby

だから、私は走った brew link ruby . Voilà ce que j'ai obtenu :

Linking /usr/local/Cellar/ruby/2.3.1... v
Error: Could not symlink bin/rake
Target /usr/local/bin/rake
already exists. You may want to remove it:
  rm '/usr/local/bin/rake'

C'est pourquoi j'ai décidé de me présenter brew link --overwrite ruby et maintenant mon Vim fonctionne à nouveau !

10voto

Andy Points 193

J'ai rencontré une erreur similaire en faisant brew upgrade où libperl n'est pas chargé.

dyld: Library not loaded: /usr/local/opt/perl/lib/perl5/5.24.1/darwin-thread-multi-2level/CORE/libperl.dylib
  Referenced from: /usr/local/Cellar/vim/8.0.0636/bin/vim
  Reason: image not found

La solution était de réinstaller la dépendance cassée et vim :

brew uninstall --ignore-dependencies perl
brew uninstall vim
brew install vim

4voto

kip2 Points 141

Pour moi, j'ai découvert que Brew avait installé macvim et qu'il entrait en conflit avec le stock vim de l'OS. Les tentatives d'utilisation de vim normal, et l'exécution de commandes git telles que celles-ci produisaient des erreurs :

$ git commit --amend
dyld: Library not loaded: /System/Library/Perl/5.16/darwin-thread-multi-2level/CORE/libperl.dylib
  Referenced from: /usr/local/Cellar/macvim/7.4-73/MacVim.app/Contents/MacOS/Vim
  Reason: image not found
error: vi died of signal 6
error: There was a problem with the editor 'vi'.
Please supply the message using either -m or -F option.

J'ai donc désinstallé tous les paquets relatifs à Vim que Brew avait installés :

$ brew list

Et sûrement supprimer macvim avec $ brew uninstall macvim a résolu le problème

2voto

Ueffes Points 21

J'ai essayé de réinstaller, de relier, de supprimer toutes les versions disponibles etc. pour ruby et vim mais rien n'a vraiment aidé.

Ainsi, j'ai simplement décidé de renommer mon fichier dylib de

/usr/local/opt/ruby/lib/libruby.2.3.dylib

à

/usr/local/opt/ruby/lib/libruby.2.3.0.dylib

Le résultat de ce renommage est qu'il fonctionne parfaitement bien maintenant.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X