aggiornamento brew ha rotto Vim su OS X (dyld: libreria non caricata)


48

Non corro brew update && brew upgradeda molto tempo.

Ho appena fatto un enorme aggiornamento che si è rivelato rotto il mio Vim.

Questo è quello che ho ottenuto dopo l'esecuzione 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

Mi sono imbattuto in alcuni siti Web, ma nessuno di questi è stato effettivamente utile.

Hanno detto che potrebbe essere correlato rvmma brew uninstall vim; rvm system; brew install vimnon ha aiutato. Ho provato a reinstallare anche il mio MacVim ma il problema non è stato risolto.

L'aggiunta export PATH="/usr/local/bin:$PATH"al mio .bash_profilenon ha aiutato neanche.

Ecco l'elenco per riferimento futuro:

Che cosa è successo al mio Vim? Come posso ripararlo?


Ora forse potresti provare: xcode-select --installe poi brew upgrade, come suggerito nella sezione Aggiornamento di macOS su Common Issues
taper

Risposte:


49

Soluzione

Prova a reinstallare rubye vim, ad es

brew reinstall ruby vim

Risoluzione dei problemi

Ecco altri suggerimenti se sopra non sono di aiuto:

  • Trova tutti i riferimenti a DYLD_LIBRARY_PATH, DYLD_FALLBACK_LIBRARY_PATHo DYLD_FRAMEWORK_PATHvariabili ambientali e rimuoverli dagli script di shell di avvio (ad esempio ~/.bashrc, ~/.bash_profilee così via).

3
Appena aggiornato ad alta sierra e questo ha fatto il trucco! Grazie.
e_x_p,

1
Stavo brew reinstall ruby macvim
riscontrando

6
Dopo l'aggiornamento alla Sierra alta, ho corso brew updatee brew upgrade, che ha aggiornato un sacco di software alle versioni della Sierra alta e risolto il mio problema.
Maffo,

27

tl; dr

brew link --overwrite ruby

Dettagli

In realtà, si è rivelato abbastanza semplice. Ho seguito il suggerimento per l'esecuzione brew doctore ho ottenuto questi risultati:

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

Quindi ho corso brew link ruby. Questo è quello che ho ottenuto:

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'

Di conseguenza ho deciso di correre brew link --overwrite rubye ora il mio Vim funziona di nuovo!


2
Accidenti mi brew upgradefa molto schifo. Grazie mille per aver offerto una serie chiara di istruzioni per risolvere questo problema.
Sukima,

Non ha funzionato per me dopo l'aggiornamento a Catalina:Warning: Refusing to link macOS-provided software: ruby
Cory Klein il

7

Ho brew upgraderiscontrato un errore simile quando facevo dove libperl non veniva caricato.

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 correzione consisteva nel reinstallare la dipendenza interrotta e vim:

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

1
Il mio errore era correlato alla libreria ruby ​​nell'operazione ma dopo aver provato alcune correzioni di collegamento, ho scoperto che dovevo disinstallare / installare vim. Ho recentemente aggiornato ruby.
Jerome,

Ho trovato questi stessi passaggi qui github.com/Homebrew/brew/issues/2356#issuecomment-301830565 e ha funzionato.
gabe

4

Per me, ho scoperto che la birra in qualche modo ha installato macvim e ha continuato a entrare in conflitto con il sistema operativo stock vim. Tenta di utilizzare vim regolare e di eseguire comandi git come questi errori prodotti:

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

Quindi sono andato avanti e ho disinstallato tutti i pacchetti relativi a VIM che brew aveva installato:

$ brew list

E sicuramente rimuovere macvim con $ brew uninstall macvimrisolto il problema


Anche questo era il mio problema. Bella risposta; Grazie!
quadrante

1

Ho provato a reinstallare, ricollegare, rimuovere tutte le versioni disponibili ecc. Per ruby ​​e vim, ma nulla mi ha davvero aiutato.

Quindi, ho appena deciso di rinominare il mio file dylib da

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

a

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

Il risultato di quella ridenominazione è che ora funziona perfettamente.


Potresti prendere in considerazione l'utilizzo di un link simbolico qui invece di rinominare il file, in modo che tutto ciò che fa riferimento a libruby2.3.dylib non si rompa troppo.
Derwent,

0

Se ricevi un messaggio come il seguente:

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.

e gestisci il tuo Ruby usando rvm, quindi impostare correttamente una variabile di ambiente dovrebbe riportare la tua azione in azione.

Seguire questi passaggi per vedere se si applica al proprio ambiente:

DYLD_LIBRARY_PATH è definito ed è corretto ?:

$ env|grep DYLD_LIBRARY_PATH

Dove è installato Ruby?

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

Ciò dimostra che il mio rubino è gestito da rvm.

Dove si trova libruby.2.4.1.dylib?

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

Aggiungi la directory "lib" e aggiungila al tuo file di avvio:

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

Nota: utilizzare qualsiasi file di avvio (~ / .profile, ~ / bash_exports, ecc.) Che abbia senso per la propria stazione di lavoro.

Ora, quando avvii una nuova sessione terminale, il tuo vim dovrebbe funzionare di nuovo.


0

Sul mio caso risulta che ruby ​​è stato installato ma per motivi non collegati, quindi:

fermentare rubino


0

Il mio errore (ciò si è verificato dopo l'aggiornamento dell'homebrew):

dyld: libreria non caricata: /usr/local/opt/ruby/lib/libruby.2.6.dylib Riferimenti da: / usr / local / bin / vim Motivo: immagine non trovata [1] 2800 abort vim

Ci è voluta un'ora della mia vita. La mia soluzione:

Reinstalla ruby ​​$ brew reinstalla ruby

Feedback da Homebrew:

ruby è solo keg, il che significa che non è stato collegato in modo simbolico in / usr / local, perché macOS fornisce già questo software e l'installazione di un'altra versione in parallelo può causare tutti i tipi di problemi.

Se devi prima avere ruby ​​nella tua corsa PATH: echo 'export PATH = "/ usr / local / opt / ruby ​​/ bin: $ PATH"' >> ~ / .zshrc

Per i compilatori per trovare ruby ​​potrebbe essere necessario impostare: export LDFLAGS = "- L / usr / local / opt / ruby ​​/ lib" export CPPFLAGS = "- I / usr / local / opt / ruby ​​/ include"

Per pkg-config per trovare ruby ​​potresti aver bisogno di impostare: export PKG_CONFIG_PATH = "/ usr / local / opt / ruby ​​/ lib / pkgconfig" ==> Riepilogo 🍺 /usr/local/Cellar/ruby/2.6.3: 19.372 file , 32,4 MB Errore: impossibile rimuovere il barile di backup ruby! Fallo manualmente: sudo rm -rf /usr/local/Cellar/ruby/2.4.2_1.reinstall

Ho seguito le istruzioni di homebrew e rimosso manualmente il fusto di backup ruby

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

Dopo aver inserito la password e aver provato ad aprire nuovamente vim con

$ vim

Vim si aprì e io sorrisi un po 'e spazzai via la frustrazione sudore. :)


-1

Ho smesso di usare Homebrew a causa di tutti i suoi problemi e problemi di sicurezza.

In ogni caso, ho eseguito l' aggiornamento da OSX Yosemitea OSX High Sierrae macvim ha smesso di funzionare in Terminal. Ho ricevuto l'errore:

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

Ho provato a ESPORTARE un percorso come nella risposta di I3x, ma ho ancora avuto lo stesso errore (sì, ho aperto una nuova finestra Terminale).

Quindi, ho scaricato di nuovo macvim . Quando mi è stato detto che c'era già un MacVim.app sul mio computer, ho interrotto l'installazione e ho cambiato il nome in MacVim_original.app. Quindi procedere con l'installazione di un nuovo macvim. Successivamente, macvim ha lavorato di nuovo in Terminal. Lo lancio con un comando di scelta rapida:

$ m 1.py 

1
Quando fai dichiarazioni come "tutti i problemi e le questioni di sicurezza", considera l'inclusione di collegamenti alla relativa documentazione. (=
ELLIOTTCABLE


Er. goditi il ​​tuo voto negativo, quindi. Sto semplicemente offrendo una spiegazione del perché ne hai preso uno, come è una pratica accettata (proprio come citare le tue fonti) qui su Stack Exchange. ¯\_(ツ)_/¯
ELLIOTTCABLE

-1
brew uninstall --force ruby perl vim && brew install vim 

Questo è ciò che ha funzionato per me.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.