atualização de distribuição quebrou o Vim no OS X (dyld: Biblioteca não carregada)


47

Não corro brew update && brew upgradehá muito tempo.

Acabei de fazer uma atualização maciça que acabou quebrando meu Vim.

Isto é o que recebi após a execução 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

Encontrei alguns sites, mas nenhum deles foi realmente útil.

Eles disseram que isso pode estar relacionado, rvmmas brew uninstall vim; rvm system; brew install vimnão ajudou. Tentei reinstalar o meu MacVim também, mas não resolveu o problema.

Adicionando export PATH="/usr/local/bin:$PATH"ao meu .bash_profiletambém não ajudou.

Aqui está a lista para referência futura:

O que aconteceu com o meu Vim? Como posso corrigir isso?


Agora, talvez você possa tentar: xcode-select --installe brew upgrade, em seguida , conforme sugerido na seção Atualizando o macOS em Problemas comuns
reduza em

Respostas:


48

Solução

Tente reinstalar rubye vim, por exemplo

brew reinstall ruby vim

Solução de problemas

Aqui estão outras sugestões, se acima não ajudar:

  • Encontrar todas as referências a DYLD_LIBRARY_PATH, DYLD_FALLBACK_LIBRARY_PATHou DYLD_FRAMEWORK_PATHvariáveis ambientais e removê-los a partir dos scripts shell de inicialização (por exemplo ~/.bashrc, ~/.bash_profile, etc.).

3
Apenas atualizado para high sierra e isso fez o truque! Obrigado.
e_x_p 27/09

11
Eu estava tendo o problema com o mac vim, então usei este brew reinstall ruby macvime trabalhei como um encanto :) #
Crisoforo Gaspar

6
Depois de atualizar para o high sierra, executei brew updatee brew upgrade, que atualizou muitos softwares para as versões do high sierra e corrigiu meu problema.
Maffo

27

tl; dr

brew link --overwrite ruby

Detalhes

Na verdade, acabou sendo bastante simples. Segui a sugestão de execução brew doctore obtive estes resultados:

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

Então eu corri brew link ruby. Isto é o que eu tenho:

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'

Como resultado, decidi correr brew link --overwrite rubye agora meu Vim está funcionando mais uma vez!


2
Porra brew upgrade, me faz muita porcaria. Muito obrigado por oferecer um conjunto claro de instruções para corrigir isso.
Sukima 15/07/16

7

Corri para um erro semelhante ao fazer brew upgradeonde libperl não é carregado.

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

A correção foi reinstalar a dependência quebrada e o vim:

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

11
Meu erro estava relacionado à biblioteca ruby ​​no op, mas depois de tentar algumas correções de link, descobri que precisava desinstalar / instalar o vim. Eu atualizei recentemente o ruby.
Jerome

Encontrei os mesmos passos aqui github.com/Homebrew/brew/issues/2356#issuecomment-301830565 e funcionou.
gabe

4

Para mim, descobri que o brew instalava o macvim de alguma forma e continuava em conflito com o stock vim do sistema operacional. Tentativas de usar o vim regular e executar comandos git como estes produziram erros:

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

Então fui em frente e desinstalei quaisquer pacotes relacionados ao vim que o brew havia instalado:

$ brew list

E certamente remover o macvim $ brew uninstall macvimresolveu o problema


Este foi o meu problema também. Ótima resposta; obrigado!
Rotarydial #

1

Tentei reinstalar, vincular novamente, remover todas as versões disponíveis etc. para ruby ​​e vim, mas nada realmente ajudou.

Assim, eu apenas decidi renomear meu arquivo dylib de

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

para

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

O resultado dessa renomeação é que agora funciona perfeitamente bem.


Você pode considerar o uso de um link simbólico aqui em vez de renomear o arquivo, para que qualquer coisa que faça referência ao libruby2.3.dylib não seja interrompida também.
Derwent

0

Se você receber uma mensagem como a seguinte:

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 você gerencia seu Ruby usando o rvm, então definir corretamente uma variável de ambiente deve colocar seu vim de volta em ação.

Siga estas etapas para verificar se isso se aplica ao seu ambiente:

DYLD_LIBRARY_PATH está definido e está correto ?:

$ env|grep DYLD_LIBRARY_PATH

Onde o Ruby está instalado?

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

Isso mostra que meu ruby ​​é gerenciado pelo rvm.

Onde está localizado o libruby.2.4.1.dylib?

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

Adicione o diretório "lib" e adicione-o ao seu arquivo de inicialização:

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

Nota: Use qualquer arquivo de inicialização (~ / .profile, ~ / bash_exports, etc.) que faça sentido para sua estação de trabalho.

Agora, quando você inicia uma nova sessão de terminal, seu vim deve estar funcionando novamente.


0

No meu caso, verifica-se que o ruby ​​foi instalado, mas por motivos não vinculados, portanto:

ligação link ruby


0

Meu erro (isso ocorreu após a atualização do homebrew):

dyld: Biblioteca não carregada: /usr/local/opt/ruby/lib/libruby.2.6.dylib Referenciado por: / usr / local / bin / vim Razão: imagem não encontrada [1] 2800 abort vim

Isso levou uma hora da minha vida. Minha solução:

Reinstalar ruby ​​$ brew reinstalar ruby

Comentários do Homebrew:

ruby é apenas barril, o que significa que não foi vinculado a / usr / local, porque o macOS já fornece esse software e a instalação de outra versão em paralelo pode causar todos os tipos de problemas.

Se você precisar ter o ruby ​​primeiro em sua execução no PATH: echo 'export PATH = "/ usr / local / opt / ruby ​​/ bin: $ PATH"' >> ~ / .zshrc

Para que os compiladores encontrem o ruby, pode ser necessário definir: export LDFLAGS = "- L / usr / local / opt / ruby ​​/ lib" export CPPFLAGS = "- I / usr / local / opt / ruby ​​/ include"

Para que o pkg-config encontre o ruby, você pode precisar definir: export PKG_CONFIG_PATH = "/ usr / local / opt / ruby ​​/ lib / pkgconfig" ==> Resumo 🍺 /usr/local/Cellar/ruby/2.6.3: 19.372 arquivos , 32,4MB Erro: Não foi possível remover o barril de backup ruby! Faça isso manualmente: sudo rm -rf /usr/local/Cellar/ruby/2.4.2_1.reinstall

Segui as instruções do homebrew e removi manualmente o barril de backup ruby

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

Após digitar a senha e tentar abrir o vim novamente com

$ vim

Vim abriu e eu sorri um pouco e afastei a transpiração de frustração. :)


-1

Parei de usar o Homebrew por causa de todos os seus problemas e problemas de segurança.

De qualquer forma, atualizei de OSX Yosemitepara OSX High Sierrae o macvim parou de funcionar no Terminal. Eu recebi o erro:

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

Tentei exportar um caminho como na resposta do I3x, mas ainda assim recebi o mesmo erro (sim, abri uma nova janela do Terminal).

Então, baixei o macvim novamente. Quando me disseram que já havia um MacVim.app no ​​meu computador, parei a instalação e alterei o nome para MacVim_original.app. Então eu continuo instalando um novo macvim. Depois disso, o macvim voltou a trabalhar no Terminal. Eu o inicio com um comando de atalho:

$ m 1.py 

11
Ao fazer declarações como "todos os problemas e questões de segurança", considere incluir links para a documentação dos mesmos. (=
ELLIOTTCABLE


Er. Aproveite o seu voto negativo, então. Estou simplesmente oferecendo uma explicação do motivo pelo qual você adquiriu um, como é uma prática aceita (como citar suas fontes) aqui no Stack Exchange. ¯\_(ツ)_/¯
ELLIOTTCABLE

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

Isto é o que funcionou para mim.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.