demlemek yükseltme OS X üzerinde VIM kırdı (dyld: Kütüphane yüklü değil)


47

Kaçmayacağım ettik brew update && brew upgradeuzun süre.

Sadece Vim'imi kırdığı ortaya çıktı.

Çalıştırdıktan sonra sahip olduğum şey bu 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

Bazı web sitelerine rastladım, ancak hiçbiri gerçekten yardımcı olmadı.

İlgili olabileceğini rvmancak brew uninstall vim; rvm system; brew install vimyardımcı olamayacağını söylediler . MacVim'imi de yeniden yüklemeye çalıştım, ancak sorunu çözmedi.

export PATH="/usr/local/bin:$PATH"Benim ekleyerek .bash_profilede yardımcı olmadı.

Gelecekteki referans için liste:

Vim'ime ne oldu? Nasıl düzeltebilirim?


Şimdi belki deneyebilirsiniz: xcode-select --installve sonra brew upgrade, bölüm önerildiği üzere yükseltiliyor MacOS at Ortak Sorunları
konik

Yanıtlar:


48

Çözüm

Yeniden dene rubyve vim, örneğin

brew reinstall ruby vim

Sorun giderme

Yukarıda yardımcı olmazsa işte diğer öneriler:

  • Herhangi başvurular bul DYLD_LIBRARY_PATH, DYLD_FALLBACK_LIBRARY_PATHya DYLD_FRAMEWORK_PATHçevresel değişkenler ve başlatma kabuk komut (örneğin kaldırmak ~/.bashrc, ~/.bash_profilevb.)

3
Sadece yüksek Sierra'ya yükselttim ve hile yaptım! Teşekkürler.
e_x_p 27:17

1
Bu sorunu mac vim ile yaşıyordum, bu yüzden bunun yerine bunu kullandım brew reinstall ruby macvimve bir cazibe gibi çalıştım :)
Crisoforo Gaspar

6
Yüksek Sierra'ya yükselttikten sonra koştum brew updateve brew upgradebu da yüksek Sierra sürümlerine çok fazla yazılım yükseltti ve sorunumu çözdü.
maffo

27

tl; Dr.

brew link --overwrite ruby

ayrıntılar

Aslında, oldukça basit olduğu ortaya çıktı. Çalıştırmak için öneriyi takip brew doctorettim ve şu sonuçları aldım:

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

Bu yüzden koştum brew link ruby. Elimde bu var:

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'

Sonuç olarak koşmaya karar verdim brew link --overwrite rubyve şimdi Vim'im bir kez daha çalışıyor!


2
Kahretsin brew upgrade, bu saçmalık bana çok şey yapıyor. Bunu düzeltmek için net bir talimat seti sunduğunuz için teşekkür ederiz.
Sukima,

7

brew upgradeLibperl 'in yüklenmediği yerde benzer bir hata ile karşılaştım .

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

Düzeltme, bozuk bağımlılığı ve vim'i yeniden yüklemekti:

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

1
Hatam op'taki ruby ​​kütüphanesiyle ilgiliydi, ancak birkaç bağlantı düzeltmeyi denedikten sonra vim'i kaldırmam / yüklemem gerektiğini öğrendim. Geçenlerde yakut güncellendi.
jerome

Aynı adımları burada da buldum github.com/Homebrew/brew/issues/2356#issuecomment-301830565 ve işe yaradı.
gabe

4

Benim için, bir şekilde kurulu macvim demlendiğini ve OS stok vim ile çakışmaya devam ettiğini gördüm. Normal vim kullanmaya ve bu hatalar gibi git komutlarını çalıştırmaya çalışır:

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

Bu yüzden devam ettim ve demlemenin kurduğu vim ile ilgili paketleri kaldırdım:

$ brew list

Ve kesinlikle macvim ile kaldırarak $ brew uninstall macvimsorunu çözdü


Bu benim de sorunumdu. Mükemmel cevap; Teşekkürler!
Rotarydial

1

Yeniden kurmak, yeniden bağlamak, mevcut tüm sürümleri çıkarmak, vb.

Böylece, dylib dosyamı yeniden adlandırmaya karar verdim

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

için

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

Bu yeniden adlandırma sonucu şimdi mükemmel çalışıyor.


Libruby2.3.dylib dosyasını referans alan herhangi bir şeyin de bozulmaması için, dosyayı yeniden adlandırmak yerine burada bir sembolik bağlantı kullanmayı düşünebilirsiniz.
Derwent

0

Aşağıdaki gibi bir mesaj alırsanız:

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.

Ruby'nizi rvm kullanarak yönetiyorsanız, bir ortam değişkenini doğru şekilde ayarlamak vim'inizi tekrar harekete geçirmesini sağlamalıdır.

Ortamınıza uygun olup olmadığını görmek için aşağıdaki adımları izleyin:

DYLD_LIBRARY_PATH tanımlanmış mı ve doğru mu ?:

$ env|grep DYLD_LIBRARY_PATH

Ruby nerede yüklü?

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

Bu benim yakut rvm tarafından yönetildiğini gösterir.

Libruby.2.4.1.dylib nerede bulunur?

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

"Lib" dizinini ekleyin ve başlangıç ​​dosyanıza ekleyin:

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

Not: İş istasyonunuz için anlamlı olan herhangi bir başlangıç ​​dosyasını (~ / .profile, ~ / bash_exports, vb.) Kullanın.

Şimdi, yeni bir terminal oturumu başlattığınızda, vim'in tekrar çalışıyor olması gerekir.


0

Benim durumumda o yakut yüklü, ancak nedense bağlı değil, yani:

Demlemek bağlantı yakut


0

Hatam (bu, homebrew güncellemesinden sonra gerçekleşti):

dyld: Kütüphane yüklenmedi: /usr/local/opt/ruby/lib/libruby.2.6.dylib Başvuru kaynağı: / usr / local / bin / vim Sebep: görüntü bulunamadı [1] 2800 iptal et

Bu hayatımın bir saatini aldı. Çözümüm:

Ruby yeniden brew $ brew ruby ​​yeniden

Homebrew'den geri bildirim:

ruby sadece keg'dir, yani / usr / local dizinine bağlanmamıştır, çünkü macOS zaten bu yazılımı sağlar ve başka bir sürümü paralel olarak kurmak her türlü soruna yol açabilir.

PATH çalıştırmanızda önce yakut olması gerekiyorsa: echo 'export PATH = "/ usr / yerel / opt / ruby ​​/ bin: $ PATH"' >> ~ / .zshrc

Derleyicilerin yakut bulması için ayarlamanız gerekebilir: LDFLAGS dışa aktar = "- L / usr / yerel / opt / ruby ​​/ lib"

Pkg-config'in ruby'yi bulması için ayarlamanız gerekebilir: PKG_CONFIG_PATH = "/ usr / local / opt / ruby ​​/ lib / pkgconfig" ==> Özet us /usr/local/Cellar/ruby/2.6.3: 19.372 dosya , 32.4MB Hata: Yakut yedekleme fıçısı kaldırılamadı! Manuel olarak yapın: sudo rm -rf /usr/local/Cellar/ruby/2.4.2_1.reinstall

Homebrew'in talimatlarını takip ettim ve ruby ​​backup fıçılarını elle kaldırdım

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

Şifreyi girip tekrar açmayı denedikten sonra

$ vim

Vim açıldı ve biraz gülümsedi ve hayal kırıklığı terlemeyi giderdim. :)


-1

Tüm sorunları ve güvenlik sorunları nedeniyle Homebrew'i kullanmayı bıraktım.

Her durumda, 'dan' OSX Yosemitea yükselttim OSX High Sierrave macvim Terminal 'de çalışmayı durdurdu. Hatayı aldım:

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

EXPORT''u I3x'in cevabındaki gibi bir yoldan denedim ama yine de aynı hatayı aldım (evet, yeni bir Terminal penceresi açtım).

Böylece tekrar macvim indirdim . Bilgisayarımda zaten bir MacVim.app olduğu söylendiğinde, yüklemeyi durdurdum ve adı MacVim_original.app olarak değiştirdim. Sonra yeni bir macvim yüklemeye devam ediyorum. Ondan sonra macvim tekrar Terminal'de çalıştı. Kısayol komutuyla başlatıyorum:

$ m 1.py 

1
“Tüm sorunlar ve güvenlik sorunları” gibi açıklamalar yaparken, bunların dokümantasyonuna bağlantılar eklemeyi düşünün. (=
ELLIOTTCABLE


Er. Öyleyse beğenmene iyi bak. Stack Exchange'de kabul edilmiş bir uygulama (kaynaklarınızı belirtmek gibi) gibi neden bir tane aldığınızı açıklamak istiyorum. ¯\_(ツ)_/¯
ELLIOTTCABLE

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

Bu benim için çalıştı.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.