"माणिक इंस्टॉलेशन मिसिंग मिसिंग" त्रुटि को कैसे हल करें?


158

मैंने रूबी का उपयोग 1.9.3 स्थापित करने के लिए किया। भले ही इसे सफलतापूर्वक स्थापित किया गया था, लेकिन इसने लीबायमल के बारे में शिकायत की। और अब हर बार जब मैं एक रत्न स्थापित करना चाहता हूं (कहते हैं कि रेल) ​​यह चेतावनी दिखाता है:

It seems your ruby installation is missing psych (for YAML output). To eliminate this warning, please install libyaml and reinstall your ruby.

मैं मैक ओएस एक्स 10.7 (शेर) का उपयोग करता हूं।


क्या आपने इन निर्देशों का पालन करके libyaml स्थापित करने का प्रयास किया है: pyyaml.org/wiki/LibYAML ?
नाविक

1
क्या आप होमब्रे का उपयोग कर रहे हैं? कोशिश करो brew doctor। क्या यह libyaml लिंक की समस्या को सूचीबद्ध करता है?
स्टुटी

3
मैक उपयोगकर्ता: rm -rf /usr/local/lib/ruby/gems/ && brew reinstall rubyजैसा कि आधिकारिक होमब्रेव -कोर गटिहब में हल किया गया मुद्दा
ट्रैविस क्लार्क

जवाबों:


218

मेरे मामले में

rvm pkg install libyaml

तथा

rvm reinstall ruby-1.9.3-p125

समस्या का हल किया।

उबंटू का उपयोग करने वाले लोगों के लिए, सुनिश्चित करें कि libtoolउपरोक्त चरणों से पहले स्थापित किया गया है:

sudo apt-get install libtool

MacOS उपयोगकर्ताओं के लिए (होमब्रे के साथ):

rm -rf /usr/local/lib/ruby/gems/ && brew reinstall ruby

11
आप वास्तव में मतलब है:rvm package install libyaml
johncblandii

3
नहीं, उसका मतलब था rvm pkg install libyaml। से rvm usage: pkg :: Install a dependency package {readline,iconv,zlib,openssl}
jordanpg

मुझे लगता है कि यह निर्भर करता है कि आप किस संस्करण का उपयोग करते हैं। आरवीएम 1.6.9 में यह है package
वानुअन

8
rvm pkg install libyamlइसे चलाने के बाद सभी माणिकों को फिर से स्थापित करने की सलाह देते हैं rvm reinstall all --force। यदि आपके पास एक से अधिक हैं, तो यह उपयोगी हो सकता है।
हरलाल डोबरेव

7
करना था rvm reinstall 1.9.3 --with-libyaml-dir=/home/rails/.rvm/usrके रूप में में सुझाव दिया serverfault.com/questions/442150/...
PCV

20

ubuntu और rvm के लिए

sudo apt-get install libtool
rvm pkg install libyaml
rvm reinstall 1.9.3

काम


1
मुझे libyaml स्थापित करने से पहले 'सभी को अनइंस्टॉल' करना पड़ा। यह एकमात्र तरीका है जो त्रुटि को साफ करता है
सुनील गौड़ा

19

यदि आरवीएम का उपयोग नहीं किया जाता है, बल्कि आप खरोंच से 1.9.3 का निर्माण और स्थापित कर रहे हैं - उदाहरण के लिए, आप अपने रूबी संस्करणों को rbenv के साथ प्रबंधित कर रहे हैं - आपको पहले libyaml स्थापित करना होगा। इसे http://pyyaml.org/ से प्राप्त करें ; फिलहाल, आप जो फ़ाइल चाहते हैं, वह http://pyyaml.org/download/libyaml/yaml-0.1.4.tar.gz है । परिणामी फ़ोल्डर में तारबॉल और सीडी खोलें। फिर:

./configure --prefix=/usr/local
make
sudo make install

अब आप माणिक का निर्माण करने के लिए तैयार हैं। माणिक को http://ftp.ruby-lang.org/pub/ruby/ से डाउनलोड करें । परिणामी फ़ोल्डर में तारबॉल और सीडी खोलें। अभी:

./configure --prefix=/wherever/you/want/it/to/go
make
make install

(या संभवतः sudo make install, यह निर्भर करता है कि आप इसे कहाँ डाल रहे हैं।) यदि रेंबव का उपयोग कर रहे हैं, तो आपको पता होगा कि यदि आपने स्विच किया है rbenv global 1.9.3-p194(या जो भी आपके संस्करण को कहा जाता है) और gem --versionचेतावनी के बिना काम करता है। मेरे लिए मैक ओएस एक्स 10.6.8 पर काम किया। ( अपडेट : मैंने अभी मैक ओएस एक्स 10.8.1 पर यह कोशिश की थी और ऐसा लगता है कि वहां भी ठीक काम किया है।)


रत्नों का उत्पादन क्या होना चाहिए? मैंने Ruby 1.9.3-p327 स्थापित किया था, लेकिन मणि -version आउटपुट 1.8.23 (सुनिश्चित नहीं है कि यह संबंधित है) और जब मैं बंडल अपडेट करता हूं, तो यह अजीब रूप से कहता है कि कुछ रत्नों की आवश्यकता है => 1.9.2 stackoverflow.com/questions/ 14116083 / ...
Leahcim

आपकी gem --versionआवाज़ सही है, लेकिन हो सकता है कि आपने rvm के उपयोग के कारण अपना रास्ता भटक लिया हो
मैट

4
और यदि आपको sudo के बिना yaml इंस्टॉल करना है /usr/local, तो yaml को कॉन्फ़िगर करने के अलावा कोई उपसर्ग निर्दिष्ट करें , फिर माणिक को कॉन्फ़िगर करें--with-opt-dir=/path/to/yaml/prefix --with-yaml --prefix=/path/to/ruby/prefix
Chadwick

मुझे पता है कि यह एक साल से अधिक पुराना है, लेकिन सवाल आरवीएम के साथ एक त्रुटि के बारे में था। "अगर आरवीएम का उपयोग नहीं कर रहा है" तो कैसे शुरू किया जा सकता है?
पीटर डेगेन-पोर्टनॉय

18
brew install libyaml
rvm reinstall 1.9.3

क्या मेरे लिए (हिम तेंदुए पर) काम किया है।


मुझे भी ऐसा करना था। rvm pkg install libyaml मेरे लिए नहीं किया।
stringo0

9

मेरे मामले में समाधान psychमणि को मणि में जोड़ना था ।


6

मुझे यह समस्या थी। libyaml संकलन नहीं करेगा। यह पता चला है कि मैं libtool गायब था।

yum install libtool
yum install libyaml (or rvm pkg install libyaml)
rvm reinstall 1.9.3

इससे मेरी समस्या हल हो गई।


1
कोई पैकेज libtool उपलब्ध नहीं है। कुछ करने को नहीं है।
पॉल

1
सेंटोस नहीं कर सकते हैं libtool स्थापित करें? यह विश्वास नहीं है .. क्या आप गैर-रेडहैट आधारित प्रणाली का उपयोग कर रहे हैं और इसे प्राप्त करने की आवश्यकता है?
phil88530

@ Cent88530 पुराने संस्करण का आप जितना सोचते हैं उससे अधिक बेवकूफ हो सकता है
डेनिस सी


6

यदि आपने होमबॉव के साथ macOS पर रूबी स्थापित किया है, तो इस समाधान का प्रयास करें

rm -rf /usr/local/lib/ruby/gems/ && brew reinstall ruby

ध्यान दें कि इससे सभी स्थापित रत्नों से छुटकारा मिलेगा। gem listइससे पहले कि आप इसे चलाएं, इसके साथ स्थापित रत्नों की सूची को सर्वश्रेष्ठ रूप से सहेज लें ।


लेकिन gem listपहली जगह में (मेरे लिए) त्रुटि का कारण बनता है।
ओरोम

5
$ brew doctor
$ brew link libyaml

सभी brew doctorमुद्दों को हल करके मेरे लिए इसे तय किया। मुझे प्रयास करते समय प्रश्नकर्ता की त्रुटि के समान त्रुटि मिली gem install jekyll। आरवीएम के माध्यम से सभी कमांड भी त्रुटि दे रहे थे। अंतर्निहित और स्पष्ट समस्या यह नहीं है कि होमब्रे, मैं उन साधनों को मान रहा हूं जिनके द्वारा आरवीएम सामान स्थापित करता है, जिसमें समस्याएँ थीं। मैंने हाल ही में मैक ओएस पर Mavericks में अपग्रेड किया था। मेरे मामले में, सभी brew doctorमुद्दों को हल करने से हर एक त्रुटि संदेश समाप्त हो गया। अब सब कुछ सुचारू रूप से काम कर रहा है।
स्टाउटी

4

मुझे यह तय हो गया। मुद्दा यह था कि भले ही मैंने काढ़ा के साथ लिबायम स्थापित किया था, यह कभी भी जुड़ा नहीं था। मुझे एक परस्पर विरोधी हेडर फ़ाइल को हटाना पड़ा और फिर brew link libyaml


4

मैक ओएसएक्स के लिए आरवीएम के साथ रूबी को स्थापित करना, लिबायमल स्थापित करने के लिए ऑटोलिब का उपयोग करें और पहले लिबायम की स्थापना रद्द करने में मदद करता है।

यह मेरे लिए काम किया:

brew uninstall libyaml
rvm autolibs enable
rvm reinstall ruby-2.1.1

धन्यवाद @ user33302 ऊपर के समाधान ने मेरे लिए मैक ओएस ईआई कैपटन पर भी काम किया।
संदीप आहूजा

3

मुझे एक ही समस्या थी (शेर 10.7.4), और इसे आरवीएम को अपग्रेड करके फिर से माणिक पुनः स्थापित करके ठीक किया

1) उन्नत आरवीएम https://rvm.io//rvm/install/

curl -L https://get.rvm.io | bash -s stable --ruby

2) फिर रूबी को फिर से स्थापित करने के लिए rvm का उपयोग करें 1.9.3 (जो पहले rvm के पुराने संस्करण के साथ स्थापित किया गया था)

rvm reinstall 1.9.3

3

मैंने libyaml समर्थन के साथ माणिक 1.9.3 को फिर से स्थापित किया:

rvm reinstall 1.9.3 --with-libyaml

मैंने यह सुनिश्चित किया कि मैं मनोवैज्ञानिक स्थापित करने से पहले 1.9.3 का उपयोग करूंगा:

rvm use 1.9.3

मैंने मनोवैज्ञानिक स्थापित किया:

gem install psych

2
sudo port install libyaml # or brew install libyaml
rvm get latest
rvm pkg install iconv
rvm pkg install openssl
rvm reinstall 1.9.3 --with-openssl-dir=~/.rvm/usr --with-iconv-dir=~/.rvm/usr

curl -OL http://rubyforge.org/frs/download.php/75414/linecache19-0.5.13.gem
curl -OL http://rubyforge.org/frs/download.php/75415/ruby-debug-base19-0.11.26.gem

gem install linecache19-0.5.13.gem ruby-debug-base19-0.11.26.gem -- --with-ruby-include=$rvm_path/src/ruby-1.9.3-p125/
gem install ruby-debug19

rvm reload

अपना .rvmrc पुनः लोड करें (cd out, cd in)

bundle

2

इनमें से किसी भी जवाब ने मेरे लिए काम नहीं किया।

मुझे https://github.com/sstephenson/ruby-build/issues/119 पर अपना जवाब मिला। मैं सेंटोस 6.3 वर्चुअल मशीन पर हूं।

रूबी स्थापित करने से पहले आप libyaml को अवश्य स्थापित करें। अगर आप माणिक स्थापित करते हैं तो आपको फिर से स्रोत संकलित करने से पहले फाइलों से छुटकारा पाना चाहिए !!!

# cd to your ruby source location
rm -rf /usr/local/lib/ruby # clean out ruby files
./configure
make && make install
gem -v # check if error is fixed

2

मैंने libyaml फ़ाइलों को स्रोत से अलग से बनाया और उन्हें / usr / स्थानीय / lib में स्थापित किया। आरवीएम ने जो रूबी बनाई वह अभी भी उन्हें नहीं दिखी, और मेकफाइल या सिस्टम LD_LIBRARY_PATH के साथ टक होने के बजाय मैंने कॉपी / usr / स्थानीय / lib / libyaml * से ~ / .rv / माणिक / ruby-1.9.3-p327 / कॉपी किया। lib /

इसने चेतावनी को शांत किया।


2

यह उबंटू पर मेरे लिए काम कर रहा है:
- libyaml-dev स्थापित करना (sudo apt-get install libyaml-dev)
- rvm + ruby ​​1.9.3 स्थापित करना


2

मैंने इन सभी उत्तरों की कोशिश की और फिर भी यह काम नहीं कर पाया। मैंने होमब्रे के साथ लिबायमल स्थापित किया और फिर रूबी 1.9.3 और 2.0.0 को आरवीएम के साथ स्थापित किया। हर बार यह शिकायत होती थी कि मैं मानसिक रूप से (लिबायमल) गायब था। लेकिन libyaml को स्थापित करने की कोशिश ने मुझे बताया कि यह पहले से ही स्थापित है। कुल्ला, दोहराना। Urgh।

अंत में, मैंने जो किया वह कामेच्छा की स्थापना रद्द करने के लिए था । तब मैंने आरवीएम में ऑटोलिब को सक्षम किया , जो (कम से कम ओएसएक्स में) आरवीएम को निर्भरता को अधिक सीधे स्थापित करने और प्रबंधित करने की अनुमति देता है। अब जब मैंने Rubies स्थापित किया, rvm libyaml को स्थापित करने और यह पहचानने में सक्षम था कि यह सही जगह पर था।

इसलिए यदि आपने अन्य सभी विकल्पों की कोशिश की है, तो वास्तव में libyaml को हटाने और फिर अपनी Rubies को स्थापित करने का प्रयास करें। यह त्रुटि संदेशों से गिनती-सहज है, लेकिन आखिरकार मेरे लिए यही काम आया।


आप libyaml की जरूरत नहीं है: आप libyaml-देव, जो है क्या साथ --autolibs आप के लिए इंस्टॉल किए जाने RVM जरूरत
भ्रम

1

मुझे भी यही समस्या थी ( Cent OS 5.7 ), उपरोक्त समाधानों में से किसी ने भी मेरे लिए काम नहीं किया।

// My console warning
/usr/local/rvm/rubies/ruby-1.9.3-p286/lib/ruby/1.9.1/yaml.rb:56:in `<top (required)>':
It seems your ruby installation is missing psych (for YAML output).
To eliminate this warning, please install libyaml and reinstall your ruby.

कई री-इंस्टॉल करने के बाद, मुझे एहसास हुआ कि इसके 1.9.1बजाय रूबी संस्करण में यामल की तलाश है 1.9.3। इसलिए मैंने डाउनग्रेड किया

// obviously after installing `libyaml`
rvm remove all
rvm install 1.9.1
rvm use 1.9.1 --default

और इसने 8D काम किया!


1

सेंटोस 6.3 पर उपरोक्त में से कोई भी काम नहीं किया। हालांकि माणिक स्थापित करने से पहले स्रोत से libyaml स्थापित करने से समस्या हल हो गई।

$ wget http://pyyaml.org/download/libyaml/yaml-0.1.4.tar.gz
$ tar xzvf yaml-0.1.4.tar.gz
$ cd yaml-0.1.4
$ ./configure --prefix=/usr/local
$ make
$ sudo make install

और फिर

rvm install 1.9.3
gem install rails

1

मैं उपयोग कर रहा हूँ

rvm 1.16.20 (संस्करण) वेन ई। सेगुइन, मिशल पापिस [https://rvm.io/]

और बंडल इंस्टाल के दौरान निम्न त्रुटि भी हुई

.rvm / माणिक / माणिक / 1.9.3-p194 / lib / रूबी / 1.9.1 / yaml.rb: 56: में `': ऐसा लगता है कि आपका माणिक स्थापना गायब है मनोवैज्ञानिक (YAML आउटपुट के लिए)। इस चेतावनी को समाप्त करने के लिए, कृपया libyaml स्थापित करें और अपने माणिक को पुनः स्थापित करें।

इस त्रुटि को हल करने के तीन अलग-अलग तरीके हैं w / o मणि स्थापित करने के लिए मनोवैज्ञानिक

  1. निर्यात LD_LIBRARY_PATH = / usr / स्थानीय / lib
  2. बदल /etc/ld.so.conf

    sudo su - root
    echo /usr/local/lib64 >> /etc/ld.so.conf
    echo /usr/local/lib >> /etc/ld.so.conf
    ldconfig
  3. आरवीएम माणिक 1.9.3 स्थापना के माध्यम से ठीक करें

    patch .rvm/scripts/functions/manage/ruby < ruby-1.9.3-LDFLAGS.patch
    rvm uninstall ruby-1.9.3-p194
    export LDFLAGS='-L /usr/local/lib64 -L/usr/local/lib -Xlinker -R/usr/local/lib64 -Xlinker -R/usr/local/lib'
    rvm install ruby-1.9.3-p194 --disable-binary
    grep configure_args .rvm/src/ruby-1.9.3-p194/config.log # to confirm LDFLAG
    $ भिन्न -c .rvm / {src / rvm /,} स्क्रिप्ट / फ़ंक्शन / प्रबंधन / रूबी
    *** .rvm / src / rvm / लिपियों / कार्यों / प्रबंधन / रूबी 2012-11-10 06: 28: 14.00000000 +0000
    --- .rvm / लिपियों / कार्यों / प्रबंधन / रूबी 2013-01-25 17: 18: 00.000000000 +0000
    ***************
    *** 106,123 ****
              # जब रिश्तेदार प्रभाव में होता है तो माणिक में लिबायमल स्थापित होता है इसलिए इसे माणिक के साथ स्थानांतरित किया जाएगा
              उपसर्ग_पथ = "$ {rvm_rubies_path} / $ {rvm_ruby_string}" libyaml

    ! __rvm_update_configure_env CFLAGS = "- मैं $ {rvm_rubies_path} / $ {rvm_ruby_string} / शामिल करता हूं"
    ! __rvm_update_configure_env LDFLAGS = "- L $ {rvm_rubies_path} / $ {rvm_ruby_string} / lib"
              अगर [[-d "$ {rvm_rubies_path} / $ {rvm_ruby_string} / lib64"]
    ! उसके बाद __rvm_update_configure_env LDFLAGS = "- L $ {rvm_rubies_path} / $ {rvm_ruby_string} / lib64"
              फाई
            अन्य
              libyaml_installed || libyaml # libyaml स्थापित करता है

    ! __rvm_update_configure_env CFLAGS = "- मैं $ {rvm_path} / usr / शामिल करता हूं"
    ! __rvm_update_configure_env LDFLAGS = "- L $ {rvm_path} / usr / lib"
              अगर [[-d "$ {rvm_path} / usr / lib64"]
    ! उसके बाद __rvm_update_configure_env LDFLAGS = "- L $ {rvm_path} / usr / lib64"
              फाई
            फाई

    --- 106,123 ----
              # जब रिश्तेदार प्रभाव में होता है तो माणिक में लिबायमल स्थापित होता है इसलिए इसे माणिक के साथ स्थानांतरित किया जाएगा
              उपसर्ग_पथ = "$ {rvm_rubies_path} / $ {rvm_ruby_string}" libyaml

    ! __rvm_update_configure_env CFLAGS = "- मैं $ {rvm_rubies_path} / $ {rvm_ruby_string} / $ {CFFAGS} शामिल करता हूं"
    ! __rvm_update_configure_env LDFLAGS = "- L $ {rvm_rubies_path} / $ {rvm_ruby_string} / lib $ {LDVAGS}"
              अगर [[-d "$ {rvm_rubies_path} / $ {rvm_ruby_string} / lib64"]
    ! उसके बाद __rvm_update_configure_env LDFLAGS = "- L $ {rvm_rubies_path} / $ {rvm_ruby_string} / lib64 $" LDFLAGS} "
              फाई
            अन्य
              libyaml_installed || libyaml # libyaml स्थापित करता है

    ! __rvm_update_configure_env CFLAGS = "- मैं $ {rvm_path} / usr / $ {CFLAGS} शामिल करता हूं"
    ! __rvm_update_configure_env LDFLAGS = "- L $ {rvm_path} / usr / lib $ {LDFLAGS}"
              अगर [[-d "$ {rvm_path} / usr / lib64"]
    ! उसके बाद __rvm_update_configure_env LDFLAGS = "- L $ {rvm_path} / usr / lib64 $ {LDFLAGS}"
              फाई
            फाई


मैंने पुष्टि की है कि यदि आप नवीनतम स्थिर rvm संस्करण 1.18.4 का उपयोग कर रहे हैं तो इस पैच की आवश्यकता नहीं है
21

1

मैं भी rvm install ruby-2.0.0कई, कई घंटे के लिए एक ही विफलताओं के साथ संघर्ष किया । मैंने लिबायमल को स्थापित करने के सभी विभिन्न तरीकों की कोशिश की थी; wget source, yumऔर rvm। मैंने सभी समान दृष्टिकोणों में सूचीबद्ध विभिन्न तरीकों की भी कोशिश की। क्योंकि मैंने सभी अलग-अलग तरीकों की कोशिश की, मेरे पास कई इंस्टॉलेशन और काम के स्थान थे।

आरवीएम आवश्यक निर्भरताओं को स्थापित करने में पूरी तरह से सक्षम है ~/.rvm। बस गैर-RVM से libyaml फ़ाइलों को हटाने से मेरे लिए यह समस्या ठीक हो गई:

sudo rm /usr/local/lib/libyaml*.*

rvm reinstall ruby-2.0.0-p0

काम करता है!


1

NON-RVM माणिक स्थापित विधि।

% uname -a
Linux localhost.localdomain 2.6.32-358.el6.x86_64 #1 SMP Fri Feb 22 00:31:26 UTC 2013  x86_64 x86_64 x86_64 GNU/Linux

% cat /etc/redhat-release
CentOS release 6.4 (Final)

% wget http://apt.sw.be/redhat/el5/en/x86_64/dag/RPMS/rpmforge-release-0.3.6-1.el5.rf.x86_64.rpm
% sudo rpm -K rpmforge-release-0.3.6-1.el5.rf.*.rpm"
% sudo rpm -ivh rpmforge-release-0.3.6-1.el5.rf.*.rpm"

इस फ़ाइल को संपादित करके सक्षम rpmforge और सेट करें = 0% sudo vi /etc/yum.repos.d/rpmforge.repo

% grep rpmforge ~/.aliases
alias rpmforge "sudo yum --disablerepo='*' --enablerepo='rpmforge'"

% rpmforge install libyaml libyaml-devel

% sudo yum list installed | grep libyaml
libyaml.x86_64          0.1.4-1.el5.rf  @rpmforge                               
libyaml-devel.x86_64    0.1.4-1.el5.rf  @rpmforge  

लिबायमल-डेवेल की कुंजी है।

% tar zxvf ruby-1.9.3-p448.tar.gz
% cd ruby-1.9.3-p448
% ./configure -prefix=$HOME/ruby-1.9.3-p448
% make ; make install
% cd $HOME; ln -s ./ruby-1.9.3-p448 ruby

अपना पथ और स्रोत अपडेट करें .cshrc

% echo $PATH
/home/francis/ruby/bin:/usr/sbin:/home/francis/bin:/home/francis/jdk1.7.0_25/bin:/usr/lib64/qt-3.3/bin:/usr/local/bin:/usr/bin:/bin

% which ruby
/home/francis/ruby/bin/ruby

% gem update --system

अपने GEM_HOME को .cshrc और स्रोत में सेट करें

% echo $GEM_HOME
% /home/francis/ruby/lib/ruby/gems

% gem install mysql2 pg ruby-debug-ide rails capistrano capistrano-ext passenger

1

यदि आप स्रोत से रूबी का निर्माण कर रहे हैं (मैंने फेडोरा 20 पर 1.9.3 का निर्माण किया है), रूबी बनाने के लिए कॉन्फ़िगर / बनाने से पहले आपको इसकी आवश्यकता होगी:

yum install libyaml-devel

(yum के अलावा libyaml स्थापित करें।) ऊपर rpmforge का उपयोग करते हुए फ्रांसिस के जवाब के समान।



1

मुझे यह त्रुटि हो रही थी और मैंने देखा कि रूबी के विभिन्न संस्करण होमब्रीव के साथ स्थापित किए गए थे, साथ ही कई रत्न भी थे जिनका अब मैं उपयोग नहीं करता। तो क्या इस तरह से पूरी सफाई हुई:

$ brew remove --force ruby # remove all versions installed
$ sudo rm -rf /usr/local/lib/ruby # remove all gems and leftover files
$ brew install ruby
$ gem install bundler
$ bundle install

यदि आप एक का उपयोग नहीं करते हैं Gemfile, तो सुनिश्चित करें कि आप जानते हैं कि कौन से रत्न को पुनर्स्थापित करना है।


1

मेरे मामले में मुझे बस इतना ही करना था

rm -rf /usr/local/lib/ruby/gems/2.4.0/gems/psych-2.2.4
rm -rf /usr/local/lib/ruby/gems/2.4.0/extensions/x86_64-darwin-16/2.4.0/psych-2.2.4

अब, FWIW, gem listशामिल हैं

psych (2.2.4, default: 2.2.2)

मैं macOS सिएरा पर हूं, और यह मेरे लिए काम करता है। यह इस GitHub मुद्दे में यहां बताया गया एक ही समाधान है इस समाधान को पहले आज़माएं क्योंकि यह इस पृष्ठ के अन्य की तुलना में बहुत सरल और कम कठोर है।
mljrg

1
  • उबंटू
  • आरवीएम का उपयोग करना
  • कारण: रूबी २.४.४ और रूबी २.५.१ के बीच मनोवैज्ञानिक रत्न संस्करणों का विरोध

मैंने कुछ घंटे बिताए अपनी त्रुटि दूर करने की कोशिश कर रहा था और यहां कोई भी उत्तर मेरे मामले के अनुकूल नहीं था, इसलिए मैंने सोचा कि मैं पोस्ट करूंगा कि इसे कैसे हल किया गया ...

मेरे मामले में, जब मैं भागा gem list | grep psych, तो मेरे पास निम्न आउटपुट थे:psych(default: 3.1.0, default: 3.0.2) :।

संस्करण 2.5.0 के बाद से, माणिक, मनोवैज्ञानिक के नए संस्करण (3.1.0) पर निर्भर करता है और दोनों डिफ़ॉल्ट के रूप में सेट होने से सब कुछ गड़बड़ हो रहा था। ध्यान दें कि मैंने कभी यह पता लगाना समाप्त नहीं किया कि उन दोनों को डिफ़ॉल्ट के रूप में क्यों सेट किया गया था - मैंने इसके कारण अपने कंप्यूटर से आरवीएम और रूबी संस्करणों को पूरी तरह से मिटा दिया।

तो पुराने संस्करण (3.0.2) को डिफ़ॉल्ट रूप से सेट होने से हटाने के लिए, सिर पर ~/.rvm/gems/ruby-x.x.x@global/specifications/default। यदि आप ls | grep psychइसे चलाते हैं तो यह रत्न के दोनों संस्करणों को यहां लौटा देगा। यदि आप 3.1.0 को बनाए रखना चाहते हैं mv psych-3.0.2.gemspec ../तो डिफ़ॉल्ट रूप से चलाएं और फिर चलाने का प्रयास करेंgemlist यह सुनिश्चित करने के लिए का प्रयास करें कि यह केवल एक संस्करण को डिफ़ॉल्ट के रूप में सूचीबद्ध कर रहा है ...

tl; डॉ cd /.rvm/gems/ruby-x.x.x@global/specifications/default mv psych-3.0.2 ../

आशा है कि यह किसी की मदद करता है!


0

हिम तेंदुए पर, कैथार्ज़ द्वारा समाधान मेरे लिए काम नहीं करता था। हालाँकि, इस समाधान ने:

brew install libyaml
rvm get head
rvm reinstall 1.9.3  --with-gcc=clang

(आरवीएम पुनर्स्थापना ने मुझे "--with-libyaml" विकल्प न होने के बारे में चेतावनी दी थी, लेकिन इसने त्रुटि संदेश को बिना किसी समस्या के हल कर दिया।)


0

इसने मेरे लिए कम से कम Ubuntu 10.04 पर काम किया

$ sudo apt-get libtool प्राप्त करें

$ rvm 1.9.3 को पुन: स्थापित करें


0

सोलारिस पर:

# sudo crle -64 -l /usr/local/lib

/usr/local/libसाझा पुस्तकालय खोज पथ में जोड़ने के लिए (देखें आदमी crle)


ओएस एक्स के बारे में यह सवाल।
जिशे

0

जब मैं हिम तेंदुए 10.6.8 पर 64 बिट से 32 बिट पर स्विच करता हूं, तो मैंने 32 बिट पर चलने के लिए माणिक (आरवीएम का इस्तेमाल किया) को फिर से स्थापित किया था और उसी समस्या को पूरा किया। तो मैं सिर्फ 'सफाई' सब कुछ है कि पहले rvm द्वारा कैश किया गया और समस्याओं को हल किया। आशा है कि यह टिप किसी की मदद कर सकती है।

आरवीएम क्लीनअप सब

rvm install ruby_version_here // (इस तरह, rvm नवीनतम yaml को फिर से डाउनलोड करेगा)।

BTW, यदि आप अभी भी इस समस्या को पूरा करते हैं, तो मुझे लगता है कि आप कोशिश कर सकते हैं:

मणि स्थापित मानसिक

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