upgrade minuman pecah Vim pada OS X (sekarang: Perpustakaan tidak dimuat)

48

Saya sudah lama tidak berlari brew update && brew upgrade.

Saya baru saja melakukan upgrade besar-besaran yang ternyata merusak Vim saya.

Inilah yang saya dapatkan setelah berlari 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

Saya telah menemukan beberapa situs web tetapi tidak ada yang benar-benar membantu.

Mereka mengatakan bahwa itu mungkin terkait rvmtetapi brew uninstall vim; rvm system; brew install vimtidak membantu. Saya mencoba menginstal ulang MacVim saya juga tetapi itu tidak menyelesaikan masalah.

Menambahkan export PATH="/usr/local/bin:$PATH"ke saya .bash_profilejuga tidak membantu.

Inilah daftar untuk referensi di masa mendatang:

Apa yang terjadi dengan Vim saya? Bagaimana saya bisa memperbaikinya?

Mateusz Piotrowski
sumber
Sekarang mungkin Anda bisa mencoba: xcode-select --installdan kemudian brew upgrade, seperti yang disarankan di bagian Memutakhirkan macOS di Masalah Umum
meruncing

Jawaban:

49

Larutan

Coba instal ulang rubydan vim, mis

brew reinstall ruby vim

Penyelesaian masalah

Berikut adalah saran lain jika di atas tidak akan membantu:

  • Temukan referensi apa pun DYLD_LIBRARY_PATH, DYLD_FALLBACK_LIBRARY_PATHatau DYLD_FRAMEWORK_PATHvariabel lingkungan dan hapus dari skrip shell startup (mis ~/.bashrc. ~/.bash_profile, Dll.).
kenorb
sumber
3
Baru saja ditingkatkan ke sierra tinggi dan ini berhasil! Terima kasih.
e_x_p
1
Saya mengalami masalah dengan mac vim jadi saya menggunakan yang ini brew reinstall ruby macvimdan bekerja seperti pesona :)
Crisoforo Gaspar
6
Setelah memutakhirkan ke sierra tinggi saya berlari brew updatedan brew upgrade, yang meningkatkan banyak perangkat lunak ke versi sierra tinggi dan memperbaiki masalah saya.
maffo
27

tl; dr

brew link --overwrite ruby

Detail

Sebenarnya, ternyata cukup sederhana. Saya mengikuti saran untuk menjalankan brew doctordan saya mendapatkan hasil ini:

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

Jadi saya berlari brew link ruby. Inilah yang saya dapat:

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'

Akibatnya saya memutuskan untuk berlari brew link --overwrite rubydan sekarang Vim saya bekerja sekali lagi!

Mateusz Piotrowski
sumber
2
Sialan brew upgrade, ini omong kosong bagiku. Terima kasih banyak karena menawarkan serangkaian instruksi yang jelas untuk memperbaikinya.
Sukima
Tidak berfungsi untuk saya setelah meningkatkan ke Catalina:Warning: Refusing to link macOS-provided software: ruby
Cory Klein
7

Saya mengalami kesalahan yang sama ketika melakukan di brew upgrademana libperl tidak dimuat.

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

Perbaiki adalah menginstal ulang dependensi dan vim yang rusak:

brew uninstall --ignore-dependencies perl
brew uninstall vim
brew install vim
Andy
sumber
1
Kesalahan saya terkait dengan pustaka ruby ​​di op, tetapi setelah mencoba beberapa perbaikan tautan, saya menemukan bahwa saya perlu menghapus / menginstal vim. Saya baru saja memperbarui ruby.
jerome
Saya menemukan langkah-langkah yang sama di sini github.com/Homebrew/brew/issues/2356#issuecomment-301830565 dan berhasil.
gabe
4

Bagi saya, saya menemukan bahwa minuman entah bagaimana menginstal macvim dan terus bertentangan dengan OS stock vim. Mencoba menggunakan vim biasa, dan menjalankan perintah git seperti ini menghasilkan kesalahan:

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

Jadi saya pergi ke depan dan menghapus semua paket terkait vim yang telah diinstal buatan bir:

$ brew list

Dan tentu saja menghapus macvim dengan $ brew uninstall macvimmemecahkan masalah

kip2
sumber
Ini juga masalah saya. Jawaban bagus; Terima kasih!
putar tanggal
1

Saya mencoba menginstal ulang, menghubungkan kembali, menghapus semua versi yang tersedia, dll. Untuk ruby ​​dan vim tetapi tidak ada yang benar-benar membantu.

Jadi, saya baru saja memutuskan untuk mengganti nama file dylib saya dari

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

untuk

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

Hasil dari penggantian nama itu adalah bahwa itu berfungsi dengan baik sekarang.

Ueffes
sumber
Anda mungkin ingin mempertimbangkan untuk menggunakan symlink di sini alih-alih mengganti nama file, sehingga apa pun yang direferensikan libruby2.3.dylib tidak rusak juga.
Derwent
0

Jika Anda mendapatkan pesan seperti berikut:

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.

dan Anda mengelola Ruby Anda menggunakan rvm, maka dengan benar mengatur satu variabel lingkungan harus mendapatkan vim Anda kembali beraksi.

Ikuti langkah-langkah ini untuk melihat apakah itu berlaku untuk lingkungan Anda:

Apakah DYLD_LIBRARY_PATH didefinisikan dan apakah ini benar ?:

$ env|grep DYLD_LIBRARY_PATH

Di mana Ruby diinstal?

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

Itu menunjukkan bahwa ruby ​​saya dikelola oleh rvm.

Di mana perpustakaan 2.2.2.1.1 filib berada?

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

Tambahkan direktori "lib" dan tambahkan ke file startup Anda:

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

Catatan: Gunakan file startup mana saja (~ / .profile, ~ / bash_exports, dll.) Yang masuk akal untuk workstation Anda.

Sekarang, ketika Anda memulai sesi terminal baru, vim Anda akan berfungsi lagi.

l3x
sumber
0

Pada kasus saya ternyata ruby ​​telah dipasang tetapi karena alasan tidak ditautkan, jadi:

ruby tautan minuman

kroe
sumber
0

Kesalahan Saya (ini terjadi setelah pembaruan homebrew):

dyld: Perpustakaan tidak dimuat: /usr/local/opt/ruby/lib/libruby.2.6.dylib Dirujuk dari: / usr / local / bin / vim Alasan: gambar tidak ditemukan [1] 2800 batalkan vim

Ini menghabiskan satu jam dalam hidupku. Solusi saya:

Instal ulang ruby ​​$ buatan instal ulang ruby

Umpan balik dari Homebrew:

ruby hanya tong, yang berarti tidak disinkronkan ke / usr / lokal, karena macOS sudah menyediakan perangkat lunak ini dan menginstal versi lain secara paralel dapat menyebabkan semua jenis masalah.

Jika Anda perlu memiliki ruby ​​terlebih dahulu dalam menjalankan PATH Anda: echo 'export PATH = "/ usr / local / opt / ruby ​​/ bin: $ PATH"' >> ~ / .zshrc

Untuk penyusun untuk menemukan ruby, Anda mungkin perlu mengatur: export LDFLAGS = "- L / usr / local / opt / ruby ​​/ lib" export CPPFLAGS = "- I / usr / local / opt / ruby ​​/ include"

Untuk pkg-config untuk menemukan ruby, Anda mungkin perlu mengatur: export PKG_CONFIG_PATH = "/ usr / local / opt / ruby ​​/ lib / pkgconfig" ==> Ringkasan 🍺 /usr/local/Cellar/ruby/2.6.3: 19.372 file , 32,4MB Kesalahan: Tidak dapat menghapus tong cadangan ruby! Lakukan secara manual: sudo rm -rf /usr/local/Cellar/ruby/2.4.2_1.reinstall

Saya mengikuti instruksi homebrew dan secara manual menghapus tong cadangan ruby

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

Setelah memasukkan kata sandi dan mencoba membuka vim lagi dengan

$ vim

Vim membuka dan aku tersenyum sedikit dan menyingkirkan keringat frustrasi. :)

Pip
sumber
-1

Saya berhenti menggunakan Homebrew karena semua masalah dan masalah keamanannya.

Dalam hal apapun, saya upgrade dari OSX Yosemiteuntuk OSX High Sierradan MacVim berhenti bekerja di Terminal. Saya mendapat kesalahan:

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

Saya mencoba MENGEKSPOR jalur seperti dalam jawaban I3x, tetapi saya masih mendapatkan kesalahan yang sama (ya, saya membuka jendela Terminal baru).

Jadi, saya mengunduh macvim lagi. Ketika saya diberitahu bahwa sudah ada MacVim.app di komputer saya, saya berhenti menginstal, dan saya mengubah nama menjadi MacVim_original.app. Kemudian saya melanjutkan untuk menginstal macvim baru. Setelah itu, macvim bekerja di Terminal lagi. Saya meluncurkannya dengan perintah pintasan:

$ m 1.py 
7 belajar
sumber
1
Saat membuat pernyataan seperti "semua masalah dan masalah keamanan," pertimbangkan untuk menyertakan tautan ke dokumentasi daripadanya. (=
ELLIOTTCABLE
google.com .
7stud
Er. nikmati downvote Anda, lalu. Saya hanya menawarkan penjelasan mengapa Anda mendapatkannya, seperti praktik yang diterima (seperti mengutip sumber Anda) di Stack Exchange. ¯\_(ツ)_/¯
DAPAT DIKECUALIKAN
-1
brew uninstall --force ruby perl vim && brew install vim 

Inilah yang bekerja untuk saya.

Menandai
sumber