Brew Upgrade brach Vim unter OS X (dyld: Bibliothek nicht geladen)

47

Ich bin schon lange nicht mehr gelaufen brew update && brew upgrade.

Ich habe gerade ein massives Upgrade durchgeführt, das mein Vim kaputt gemacht hat.

Das habe ich nach dem Laufen bekommen 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

Ich bin auf einige Websites gestoßen, aber keine davon war wirklich hilfreich.

Sie sagten, dass es vielleicht damit zusammenhängt, rvmaber brew uninstall vim; rvm system; brew install vimnicht hilft. Ich habe versucht, auch meinen MacVim neu zu installieren, aber das Problem konnte nicht behoben werden.

Das Hinzufügen export PATH="/usr/local/bin:$PATH"zu meinem .bash_profilehat auch nicht geholfen.

Hier ist die Liste für zukünftige Referenz:

Was ist mit meinem Vim passiert? Wie kann ich es reparieren?

Mateusz Piotrowski
quelle
Nun vielleicht könnten Sie versuchen: xcode-select --installund dann brew upgrade, wie in Abschnitt vorgeschlagen Upgrade macOS bei Häufige Probleme
Verjüngung

Antworten:

48

Lösung

Versuchen Sie, neu zu installieren rubyund vimz

brew reinstall ruby vim

Fehlerbehebung

Hier sind andere Vorschläge, falls die obigen nicht helfen:

  • Finden Sie alle Verweise auf DYLD_LIBRARY_PATH, DYLD_FALLBACK_LIBRARY_PATHoder DYLD_FRAMEWORK_PATHUmgebungsvariablen und entfernen sie aus den Start Shell - Skripten (zB ~/.bashrc, ~/.bash_profileusw.).
Kenorb
quelle
3
Gerade auf High Sierra aufgerüstet und das hat den Trick getan! Vielen Dank.
e_x_p
1
Ich hatte das Problem mit Mac Vim, also habe ich stattdessen diesen verwendet brew reinstall ruby macvimund wie ein Zauber gearbeitet :)
Crisoforo Gaspar
6
Nach dem Upgrade auf High Sierra lief brew updateund brew upgrade, wodurch eine Menge Software auf die High Sierra-Versionen aktualisiert und mein Problem behoben wurde.
maffo
27

tl; dr

brew link --overwrite ruby

Einzelheiten

Eigentlich stellte sich heraus, dass es ziemlich einfach war. Ich folgte dem Vorschlag zu laufen brew doctorund ich habe diese Ergebnisse:

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

Also rannte ich brew link ruby. Das habe ich bekommen:

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'

Infolgedessen habe ich mich entschlossen zu rennen brew link --overwrite rubyund jetzt funktioniert mein Vim wieder!

Mateusz Piotrowski
quelle
2
Verdammt, brew upgradetut mir dieser Mist sehr viel. Vielen Dank, dass Sie eine klare Anleitung zur Behebung dieses Problems bereitgestellt haben.
Sukima
7

Ich bin auf einen ähnlichen Fehler brew upgradegestoßen, als libperl nicht geladen wurde.

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

Fix war, die kaputte Abhängigkeit und vim neu zu installieren:

brew uninstall --ignore-dependencies perl
brew uninstall vim
brew install vim
Andy
quelle
1
Mein Fehler hing mit der Ruby-Bibliothek im Betriebssystem zusammen, aber nachdem ich ein paar Link-Fixes ausprobiert hatte, stellte ich fest, dass ich vim deinstallieren / installieren musste. Ich hatte Ruby kürzlich aktualisiert.
Jerome
Ich fand die gleichen Schritte hier github.com/Homebrew/brew/issues/2356#issuecomment-301830565 und es hat funktioniert.
Gabe
4

Für mich fand ich, dass Brew Macvim irgendwie installierte und es immer wieder zu Konflikten mit OS Stock Vim kam. Versuche, reguläres vim zu verwenden und git-Befehle wie diese auszuführen, führten zu Fehlern:

$ 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.

Also habe ich alle vim-bezogenen Pakete deinstalliert, die brew installiert hat:

$ brew list

Und das Entfernen von macvim mit hat $ brew uninstall macvimdas Problem sicher gelöst

kip2
quelle
Dies war auch mein Problem. Gute Antwort; Vielen Dank!
Wählscheibe
1

Ich habe versucht, alle verfügbaren Versionen usw. für Ruby und Vim neu zu installieren, neu zu verknüpfen, zu entfernen, aber nichts hat wirklich geholfen.

Aus diesem Grund habe ich mich entschlossen, meine dylib-Datei von umzubenennen

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

zu

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

Das Ergebnis dieser Umbenennung ist, dass es jetzt einwandfrei funktioniert.

Ueffes
quelle
Möglicherweise möchten Sie hier einen Symlink verwenden, anstatt die Datei umzubenennen, damit alles, was auf libruby2.3.dylib verweist, nicht ebenfalls beschädigt wird.
Derwent
0

Wenn Sie eine Nachricht wie die folgende erhalten:

dyld: Library not loaded: /usr/local/opt/ruby/lib/libruby.2.4.1.dylib
  Referenced from: /usr/local/bin/vim
  Reason: image not found
error: vim died of signal 6
error: There was a problem with the editor 'vim'.
Please supply the message using either -m or -F option.

Wenn Sie Ihren Ruby mit rvm verwalten und dann eine Umgebungsvariable richtig einstellen, wird Ihr Vim wieder aktiv.

Befolgen Sie diese Schritte, um festzustellen, ob sie für Ihre Umgebung gelten:

Ist DYLD_LIBRARY_PATH definiert und ist es korrekt ?:

$ env|grep DYLD_LIBRARY_PATH

Wo ist Ruby installiert?

$ type ruby
ruby is hashed (/Users/<USER>/.rvm/rubies/ruby-2.4.1/bin/ruby)

Das zeigt, dass mein Rubin von rvm verwaltet wird.

Wo befindet sich libruby.2.4.1.dylib?

find /Users/<USER>/.rvm/rubies/ruby-2.4.1  -name "*.dylib"

Fügen Sie das Verzeichnis "lib" hinzu und hängen Sie es an Ihre Startdatei an:

echo -e "\nexport DYLD_LIBRARY_PATH=/Users/<USER>/.rvm/rubies/ruby-2.4.1/lib" >> ~/.bashrc

Hinweis: Verwenden Sie die Startdatei (~ / .profile, ~ / bash_exports usw.), die für Ihre Workstation sinnvoll ist.

Wenn Sie jetzt eine neue Terminalsitzung starten, sollte Ihr vim wieder funktionieren.

l3x
quelle
0

In meinem Fall stellte sich heraus, dass Ruby installiert, aber aus gutem Grund nicht verknüpft war.

Link Ruby brauen

kroe
quelle
0

Mein Fehler (dieser ist nach dem Homebrew-Update aufgetreten):

dyld: Bibliothek nicht geladen: /usr/local/opt/ruby/lib/libruby.2.6.dylib Referenziert von: / usr / local / bin / vim Grund: Bild nicht gefunden [1] 2800 vim abbrechen

Das hat eine Stunde meines Lebens gedauert. Meine Lösung:

Ruby neu installieren $ brew ruby ​​neu installieren

Feedback von Homebrew:

ruby ist reines Fass, was bedeutet, dass es nicht mit / usr / local verknüpft wurde, da macOS diese Software bereits bereitstellt und die parallele Installation einer anderen Version zu Problemen aller Art führen kann.

Wenn Ruby zuerst in Ihrem PATH-Lauf ausgeführt werden soll: echo 'export PATH = "/ usr / local / opt / ruby ​​/ bin: $ PATH"' >> ~ / .zshrc

Damit Compiler Ruby finden, müssen Sie möglicherweise Folgendes festlegen: export LDFLAGS = "- L / usr / local / opt / ruby ​​/ lib" export CPPFLAGS = "- I / usr / local / opt / ruby ​​/ include"

Damit pkg-config Ruby findet, müssen Sie möglicherweise Folgendes festlegen: export PKG_CONFIG_PATH = "/ usr / local / opt / ruby ​​/ lib / pkgconfig" ==> Zusammenfassung 🍺 /usr/local/Cellar/ruby/2.6.3: 19.372 Dateien , 32.4MB Fehler: Ruby Backup Keg konnte nicht entfernt werden! Tun Sie dies manuell: sudo rm -rf /usr/local/Cellar/ruby/2.4.2_1.reinstall

Ich folgte den Anweisungen von Homebrew und entfernte das Ruby-Backup-Fass manuell

$ sudo rm -rf /usr/local/Cellar/ruby/2.4.2_1.reinstall

Nach Eingabe des Passworts und erneutem Versuch, vim mit zu öffnen

$ vim

Vim öffnete sich und ich lächelte ein wenig und wischte den Frustschweiß weg. :)

Pip
quelle
-1

Ich habe Homebrew wegen all seiner Probleme und Sicherheitsprobleme eingestellt.

Auf jeden Fall habe ich ein Upgrade von OSX Yosemiteauf durchgeführt OSX High Sierraund macvim hat die Arbeit im Terminal eingestellt. Ich habe den Fehler bekommen:

dyld: Library not loaded: /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/libruby.2.0.0.dylib
  Referenced from: /Applications/MacVim.app/Contents/MacOS/Vim
  Reason: image not found
Abort trap: 6

Ich habe versucht, einen Pfad wie in der Antwort von I3x zu EXPORTIEREN, habe aber immer noch den gleichen Fehler erhalten (ja, ich habe ein neues Terminalfenster geöffnet).

Also habe ich wieder macvim heruntergeladen . Als mir mitgeteilt wurde, dass sich bereits eine MacVim.app auf meinem Computer befindet, habe ich die Installation abgebrochen und den Namen in MacVim_original.app geändert. Dann fahre ich mit der Installation eines neuen Macvim fort. Danach arbeitete macvim wieder im Terminal. Ich starte es mit einem Tastenkürzel:

$ m 1.py 
7stud
quelle
1
Wenn Sie Aussagen wie "Alle Probleme und Sicherheitsprobleme" machen, sollten Sie Links zu deren Dokumentation einfügen. (=
ELLIOTTCABLE
google.com .
7.
Äh. dann genieße deine downvote. Ich erkläre nur, warum Sie eine haben, und wie es sich gehört (genau wie das Zitieren Ihrer Quellen), hier bei Stack Exchange. ¯\_(ツ)_/¯
ELLIOTTCABLE
-1
brew uninstall --force ruby perl vim && brew install vim 

Das hat bei mir funktioniert.

Kennzeichen
quelle