web-dev-qa-db-fra.com

vim Ruby discordance sur Mac High Sierra

J'ai récemment mis à niveau mon Mac vers High Sierra

Après la mise à niveau, Macvim (mvim) a cessé de fonctionner car (je suppose) HighSierra a mis à niveau Ruby vers 2.3, et mvim utilise Ruby 2.0.

Voici l'erreur que je reçois

dyld: bibliothèque non chargée: /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/libruby.2.0.0.dylib

Référencé depuis: /usr/local/Cellar/macvim/8.0-134/MacVim.app/Contents/bin/../MacOS/Vim

Dois-je recompiler vim ou existe-t-il un moyen de résoudre ce problème?

Merci d'avance.

25
user2960993

Cela a fonctionné pour moi. YMMV brew uninstall --purge macvim brew install macvim

[modifié] En ce qui concerne l'option upgrade seule, cela peut fonctionner si vous n'avez pas déjà la version actuelle. Le --purge force une suppression et une réinstallation complète. Également build from source, bien que cela puisse fonctionner, vous possédez maintenant votre propre instantané statique mac-vim et devez le maintenir manuellement à mesure que l'application évolue. J'éviterais de construire à partir de la source, sauf si vous avez des besoins très spécifiques.

28
Bruce Edge
➜  ~ vim
dyld: Library not loaded: /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/libruby.2.0.0.dylib
  Referenced from: /usr/local/bin/vim
  Reason: image not found

J'ai essayé la mise à jour de l'installation de la désinstallation de brew ... Tout a échoué. Et install_name_tool travaille pour moi.

install_name_tool -change /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/libruby.2.0.0.dylib /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/libruby.2.3.0.dylib /usr/local/bin/vim
12
hequn8128

Trouvez d'abord où est le bon chemin de bibliothèque, le mien est: /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/libruby.2.3.0.dylib

Il est courant que la version ait changé.

Découvrez où se trouve le chemin absolu de vim:

$ which vim
vim: aliased to your-path-of-vim

changer le colorant:

Sudo install_name_tool -change /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/libruby.2.0.0.dylib /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/libruby.2.3.0.dylib your-path-of-vim
12
John Zhang

Cela a fonctionné pour moi:

$ brew update

$ brew upgrade macvim

sortie de commande réelle:

[bin]$ brew upgrade macvim
==> Upgrading 1 outdated package, with result:
macvim 8.0-142
==> Upgrading macvim --with-override-system-vim
==> Downloading https://github.com/macvim-dev/macvim/archive/snapshot-142.tar.gz
==> Downloading from https://codeload.github.com/macvim-dev/macvim/tar.gz/snapshot-142
######################################################################## 100,0%
==> ./configure --with-features=huge --enable-multibyte --with-macarchs=x86_64 --enable-perlinterp --enable-rubyinterp --enable-tclinterp --enable-ter
==> make
????  /usr/local/Cellar/macvim/8.0-142: 2,147 files, 34.2MB, built in 3 minutes 15 seconds
[bin]$ 
7
Guido

J'ai essayé d'utiliser brew upgrade macvim une erreur s'est produite et a échoué. Ce qui a fonctionné pour moi, c'est d'ouvrir le MacVim dans une fenêtre normale (pas un iTerm ou un terminal). La version graphique a remarqué qu'une version plus récente est disponible et m'a demandé si je voulais mettre à jour. Cliquez sur yes, please et fait. macvim dans le terminal ou iTerm fonctionne très bien (ainsi que la version "fenêtre").

1
radical_edo

Ce qui a aidé dans mon cas était:

brew link --overwrite vim

Dans votre cas, il peut être utile d'utiliser la même commande pour MacVim

brew link --overwrite macvim
1