काढ़ा उन्नयन ओएस एक्स पर विम को तोड़ दिया (डाइल्ड: लाइब्रेरी लोड नहीं है)


47

मैं brew update && brew upgradeलंबे समय से नहीं चला हूं ।

मैंने सिर्फ एक बड़े पैमाने पर अपग्रेड किया जो मेरे विम को तोड़ने के लिए निकला।

यह वही है जो मुझे चलाने के बाद मिला 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

मैं कुछ वेबसाइटों पर आया हूं, लेकिन उनमें से कोई भी वास्तव में सहायक नहीं थी।

उन्होंने कहा कि यह संबंधित हो सकता है rvmलेकिन brew uninstall vim; rvm system; brew install vimमदद नहीं की। मैंने अपने मैकविम को फिर से स्थापित करने की कोशिश की, लेकिन इससे समस्या हल नहीं हुई।

export PATH="/usr/local/bin:$PATH"मेरे जोड़ने से .bash_profileभी मदद नहीं मिली।

यहाँ भविष्य के संदर्भ के लिए सूची दी गई है:

मेरे विम का क्या हुआ? मेरे द्वारा यह कैसे किया जा सकता है?


अब शायद आप कोशिश कर सकते हैं: xcode-select --installऔर फिर brew upgrade, जैसा कि आम मुद्दों पर मैक अपग्रेड करने वाले खंड में सुझाव दिया गया है
शंकु

जवाबों:


48

समाधान

को पुनर्स्थापित करने की कोशिश करें rubyऔर vim, जैसे

brew reinstall ruby vim

समस्या निवारण

यहाँ अन्य सुझाव दिए गए हैं यदि उपरोक्त मदद नहीं करेंगे:

  • के सभी संदर्भ खोजें DYLD_LIBRARY_PATH, DYLD_FALLBACK_LIBRARY_PATHया DYLD_FRAMEWORK_PATHपर्यावरण चर और उन्हें स्टार्टअप शेल स्क्रिप्ट (जैसे से हटा दें ~/.bashrc, ~/.bash_profile, आदि)।

3
बस उच्च सिएरा के लिए उन्नत और इस चाल किया! धन्यवाद।
e_x_p

1
मैं इस मुद्दे के साथ हो रही थी MAC vim तो मैं एक के बजाय यह प्रयोग किया brew reinstall ruby macvimऔर एक आकर्षण की तरह काम किया :)
Crisoforo Gaspar

6
उच्च सिएरा में अपग्रेड करने के बाद मैं भाग गया brew updateऔर brew upgrade, जिसने बहुत सारे सॉफ्टवेयर को उच्च सिएरा संस्करणों में अपग्रेड किया और मेरा मुद्दा तय किया।
मफ्फो

27

tl; डॉ

brew link --overwrite ruby

विवरण

वास्तव में, यह काफी सरल निकला। मैंने चलाने के सुझाव का पालन ​​किया brew doctorऔर मुझे ये परिणाम मिले:

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

तो मैं भागा brew link ruby। मेरे पास बस यही है:

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'

परिणामस्वरूप मैंने दौड़ने का फैसला किया brew link --overwrite rubyऔर अब मेरा विम एक बार फिर से काम कर रहा है!


2
लानत brew upgradeहै यह बकवास मेरे लिए बहुत कुछ है। इसे ठीक करने के लिए निर्देशों का स्पष्ट सेट देने के लिए बहुत-बहुत धन्यवाद।
सुकिमा

7

मैं एक समान त्रुटि में भाग गया जब कर रहा है brew upgradeजहाँ libperl लोड नहीं होता है।

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

फिक्स टूटी निर्भरता और विम को पुनर्स्थापित करने के लिए किया गया था:

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

1
मेरी त्रुटि सेशन में रूबी लाइब्रेरी से संबंधित थी, लेकिन कुछ लिंकिंग फ़िक्स को आज़माने के बाद, मैंने पाया कि मुझे विम की स्थापना रद्द / स्थापित करने की आवश्यकता है। मैंने हाल ही में रूबी को अपडेट किया था।
जेरोम

मुझे ये समान चरण यहाँ मिले github.com/Homebrew/brew/issues/2356#issuecomment-301830565 और इसने काम किया।
gabe

4

मेरे लिए, मैंने पाया कि काढ़ा किसी तरह मैकविम को स्थापित करता है और यह ओएस स्टॉक विम के साथ विरोधाभास रखता है। नियमित रूप से विम का उपयोग करने का प्रयास, और इन कमांड त्रुटियों के रूप में git कमांड चलाना:

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

इसलिए मैंने आगे बढ़कर किसी भी विम-संबंधित पैकेज को अनइंस्टॉल कर दिया जो ब्रू ने स्थापित किया था:

$ brew list

और निश्चित रूप से समस्या को $ brew uninstall macvimहल करने के साथ मैकविम को हटा रहा है


यह मेरा मुद्दा भी था। बहुत बढ़िया जवाब; धन्यवाद!
रोटरी

1

मैंने माणिक और विम के लिए सभी उपलब्ध संस्करणों आदि को फिर से स्थापित करने, फिर से बनाने, निकालने की कोशिश की, लेकिन वास्तव में कुछ भी मदद नहीं की।

इस प्रकार, मैंने अभी अपनी dylib फ़ाइल का नाम बदलने का निर्णय लिया है

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

सेवा मेरे

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

उस नाम का परिणाम यह है कि यह अब पूरी तरह से ठीक काम करता है।


आप फ़ाइल का नाम बदलने के बजाय यहां एक सिमलिंक का उपयोग करने पर विचार कर सकते हैं, ताकि libruby2.3.dylib को संदर्भित करने वाली कोई भी चीज़ टूट न जाए।
Derwent

0

यदि आपको निम्न जैसा कोई संदेश मिलता है:

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.

और आप rvm का उपयोग करके अपनी रूबी का प्रबंधन करते हैं, फिर एक वातावरण चर को ठीक से सेट करके अपने vim को वापस क्रिया में लाना चाहिए।

यह देखने के लिए कि क्या यह आपके पर्यावरण पर लागू होता है, इन चरणों का पालन करें:

क्या DYLD_LIBRARY_PATH परिभाषित है और क्या यह सही है?

$ env|grep DYLD_LIBRARY_PATH

रूबी कहाँ स्थापित है?

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

यह दर्शाता है कि मेरी माणिक rvm द्वारा प्रबंधित है।

Libruby.2.4.1.dylib कहाँ स्थित है?

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

"Lib" निर्देशिका जोड़ें और इसे अपनी स्टार्टअप फ़ाइल में जोड़ें:

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

नोट: कभी भी स्टार्टअप फ़ाइल (~ / .profile, ~ / bash_exports, आदि) का उपयोग करें जो आपके वर्कस्टेशन के लिए समझ में आता है।

अब, जब आप एक नया टर्मिनल सत्र शुरू करते हैं, तो आपके विम को फिर से काम करना चाहिए।


0

मेरे मामले में यह पता चला है कि माणिक स्थापित किया गया था लेकिन कारण से जुड़ा नहीं है, इसलिए:

काढ़ा लिंक माणिक


0

मेरी त्रुटि (यह होमब्रेव अपडेट के बाद हुई):

dyld: पुस्तकालय लोड नहीं: /usr/local/opt/ruby/lib/libruby.2.6.dylib से संदर्भित: / usr / स्थानीय / बिन / विम कारण: छवि नहीं मिली [1] 2800 abort vim

यह मेरे जीवन का एक घंटा लगा। मेरा समाधान:

माणिक $ काढ़ा पुनः स्थापित करें माणिक पुनः स्थापित करें

Homebrew से प्रतिक्रिया:

माणिक केग-ही है, जिसका अर्थ है कि इसे / usr / लोकल में समरूप नहीं किया गया था, क्योंकि macOS पहले से ही यह सॉफ्टवेयर प्रदान करता है और समानांतर में दूसरा संस्करण स्थापित करने से सभी प्रकार की परेशानी हो सकती है।

यदि आपको अपने पैट रन में पहले माणिक्य करने की आवश्यकता है: गूंज 'निर्यात पाथ = "/ usr / स्थानीय / ऑप्ट / रूबी / बिन: $ पाथ" ">> ~ / .zshrc

रूबी को खोजने के लिए संकलक के लिए आपको सेट करने की आवश्यकता हो सकती है: LDFLAGS = "- L / usr / local / opt / ruby ​​/ lib" निर्यात CPPFLAGS = "- I / usr / local / opt / ruby ​​/ निर्यात करें"

रुग्ण खोजने के लिए pkg-config के लिए आपको सेट करने की आवश्यकता हो सकती है: PKG_CONFIG_PATH = "/ usr / local / opt / ruby ​​/ lib / pkgconfig" ==> सारांश 🍺 /usr -local/Cellar/ruby/2.6.3: 19,372 फ़ाइलें निर्यात करें , 32.4MB त्रुटि: माणिक बैकअप केग को हटा नहीं सका! ऐसा मैन्युअल रूप से करें: sudo rm -rf /usr/local/Cellar/ruby/2.4.2.2.ninstall

मैंने होमब्रे के निर्देशों का पालन किया और मैन्युअल रूप से रूबी बैकअप केग को हटा दिया

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

पासवर्ड डालने के बाद और फिर से खोलने का प्रयास करें

$ विम

विम खोला और मैं थोड़ा मुस्कुराया और निराशा के पसीने को दूर कर दिया। :)


-1

मैंने अपनी सभी समस्याओं और सुरक्षा समस्याओं के कारण Homebrew का उपयोग करना बंद कर दिया।

किसी भी स्थिति में, मैंने अपग्रेड OSX Yosemiteकिया OSX High Sierraऔर मैकविम ने टर्मिनल में काम करना बंद कर दिया। मुझे त्रुटि मिली:

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

मैंने I3x के उत्तर में एक पथ की तरह निर्यात करने की कोशिश की, लेकिन मुझे अभी भी वही त्रुटि मिली (हाँ, मैंने एक नया टर्मिनल खोला)।

इसलिए, मैंने मैकविम को फिर से डाउनलोड किया। जब मुझे बताया गया कि मेरे कंप्यूटर पर पहले से ही एक MacVim.app मौजूद है, तो मैंने इंस्टॉल रोक दिया, और मैंने नाम बदलकर MacVim_original.app कर दिया। फिर मैं एक नया मैकविम स्थापित करने के लिए आगे बढ़ा। उसके बाद, मैकविम ने फिर से टर्मिनल में काम किया। मैंने इसे शॉर्टकट कमांड के साथ लॉन्च किया है:

$ m 1.py 

1
"सभी समस्याओं और सुरक्षा मुद्दों" जैसे बयान देते समय, इसके दस्तावेज़ीकरण के लिंक सहित विचार करें। (=
ELLIOTTCABLE


एर। अपने चढ़ाव का आनंद लें, फिर। मैं केवल इस बात का स्पष्टीकरण दे रहा हूं कि आपको एक क्यों मिला, जैसा कि स्टैक एक्सचेंज में एक स्वीकृत अभ्यास (अपने स्रोतों का हवाला देते हुए) है। ¯\_(ツ)_/¯
ELLIOTTCABLE

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.