2010-08-19 9 views
24

के साथ रेल पथ स्थापित करना मैं एक लिनक्स नोब उबंटू 10.04 चला रहा हूं और रेल स्थापित करने की कोशिश कर रहा हूं। मैंने पहले रूबी और फिर आरवीएम स्थापित किया और फिर डाउनलोड किया और rubygems स्थापित किया और फिर रेल स्थापित किया।उबंटू पर आरवीएम

रेल केवल तभी प्रतिक्रिया देते हैं जब मेरे पास कमांड के सामने 'सूडो' होता है। अगर मैं लिखना टर्मिनल में 'नए परीक्षण रेल' मैं इस मिल:

/usr/local/lib/site_ruby/1.8/rubygems.rb:779:in `report_activate_error': Could not find RubyGem rails (>= 0) (Gem::LoadError) 
    from /usr/local/lib/site_ruby/1.8/rubygems.rb:214:in `activate' 
    from /usr/local/lib/site_ruby/1.8/rubygems.rb:1082:in `gem' 
    from /usr/bin/rails:18 

अगर मैं टर्मिनल पर जाएँ और 'रेल -v' मैं एक ही बात मिलता लिखें:

/usr/local/lib/site_ruby/1.8/rubygems.rb:779:in `report_activate_error': Could not find RubyGem rails (>= 0) (Gem::LoadError) 
     from /usr/local/lib/site_ruby/1.8/rubygems.rb:214:in `activate' 
     from /usr/local/lib/site_ruby/1.8/rubygems.rb:1082:in `gem' 
     from /usr/bin/rails:18 

और अगर मैं टर्मिनल के लिए जाने के लिए और लिखना 'sudo रेल -v' मैं निम्नलिखित मिल:

RUBYGEMS VERSION: 1.3.7 
    - RUBY VERSION: 1.9.2 (2010-07-11 patchlevel -1) [i686-linux] 
    - INSTALLATION DIRECTORY: /home/josh/.rvm/gems/[email protected] 
    - RUBY EXECUTABLE: /home/josh/.rvm/rubies/ruby-1.9.2-rc2/bin/ruby 
    - EXECUTABLE DIRECTORY: /home/josh/.rvm/gems/[email protected]/bin 
: रेल 3.0.0.rc

'मणि पर्यावरण' मुझे इस देता है

मेरा संदेह यह है कि मेरा पथ सही तरीके से स्थापित नहीं है लेकिन मुझे यकीन नहीं है कि इसे कैसे ठीक किया जाए। सुझाव?

उत्तर

17

मेरा अनुमान है कि आपने सूडो (उदा। sudo gem install rails) का उपयोग करके अपने रत्न स्थापित किए हैं। जब आप स्थापित करने के लिए सुडो का उपयोग करते हैं, तो आरवीएम को अनदेखा किया जा रहा है और सिस्टम रूबी का उपयोग किया जा रहा है।

आरवीएम का उपयोग करते समय, आप वास्तव में सुडो के साथ स्थापित नहीं करना चाहते हैं (ध्यान दें कि एक कमांड rvmsudo है, जो आपके आरवीएम सेटअप को सुडो के माध्यम से चलाने के लिए है, लेकिन आप वास्तव में शायद ही कभी इसका उपयोग करेंगे)। जैसा कि आप अपने पर्यावरण से देख सकते हैं, आपके रत्न /home/josh/.rvm/gems/[email protected]/gems में संग्रहीत किए जाएंगे, जहां आपको स्थापित करने के लिए रूट अनुमतियों की आवश्यकता नहीं है।

तो कोशिश:

gem install rails 
खुद के रूप में

और अगर सब कुछ काम कर रहा है।

+0

धन्यवाद, मैं सिर्फ 'मणि रेल स्थापित' करने की कोशिश की और इसे प्राप्त किया: त्रुटि: लोड हो रहा है आदेश: स्थापित करें (लोडरर) लोड करने के लिए ऐसी कोई फ़ाइल नहीं - zlib त्रुटि: मणि निष्पादित करते समय ... (नाम त्रुटि) अनियमित स्थिर जेम :: कमांड :: इंस्टॉलकॉम कोई विचार? – user424703

+0

लगता है जैसे आपके मशीन पर zlib इंस्टॉल नहीं है। यह libssl की निर्भरता है, इसलिए मैं एक योग्यता स्थापित करता है openssl और फिर –

+0

पुनः प्रयास करने के लिए धन्यवाद ... मैंने 'योग्यता स्थापित openssl' चलाया ... मैंने rubygems को पुनर्स्थापित किया और 'मणि अपडेट' चलाया - -सिस्टम 'और यह त्रुटि मिली: "त्रुटि: लोड हो रहा है आदेश: अद्यतन (लोडरर) लोड करने के लिए ऐसी कोई फ़ाइल नहीं - zlib" मैंने भी कोशिश की है' मणि स्थापित रेल - संस्करण 3.0.0 'और बहुत ही समान "त्रुटि प्राप्त हुई: आदेश लोड हो रहा है: स्थापित (LoadError) लोड करने के लिए ऐसी कोई फाइल नहीं - zlib त्रुटि: एक ओर जहां क्रियान्वित मणि ... (NameError) अप्रारंभीकृत निरंतर रत्न :: कमांड :: InstallCommand " त्रुटि: एक ओर जहां क्रियान्वित मणि ... (NameError) अनियमित निरंतर जेम :: कमांड :: अपडेट कमांड " कोई विचार जो मैं कर सकता हूं? – user424703

0

नहीं, मेरे सभी रत्न सूडो के बिना स्थापित किए गए हैं।

यहां कुछ डीबग जानकारी दी गई है जो मदद कर सकती हैं।

$ पथ से पहले rvm 1.9.2 --passenger

/home/kevin/.rvm/gems/ruby-1.9.2-p0/bin: /home/kevin/.rvm/gems/[email protected]/bin: /home/kevin/.rvm/rubies/ruby-1.9.2-p0/bin:/home/kevin/.rvm/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/usr/games

$ पथ के बाद rvm 1.9.2 --passenger

/home/kevin/.rvm/gems/ruby-1.9.2-p0/bin: /bin:/home/kevin/.rvm/rubies/ruby-1.9.2-p0/bin:/home/kevin/.rvm/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games

यह मेरा .bashrc फाइल है: http://pastebin.com/H9U3azAk

0

यदि आप स्रोत के माध्यम से स्थापित कर रहे हैं

ext/Setup and uncomment the zlib line 

$ ./configure 
$ make 
$ sudo make install 

$ ruby -v 
=> ruby 1.9.2p0 (2010-08-18 revision 29036) [x86_64-linux] 

$ gem -v 
=> 1.3.7 
2

के रूप में रोब डि मार्को ऊपर कहा गया है, तो आप RVM साथ sudo gem install rails उपयोग नहीं कर सकते (RVM Documentation देखें)।

मैंने वास्तव में एक बहुत ही समान प्रश्न पूछा। मैंने शुरुआत में सुडो मणि के साथ रेल स्थापित किए और जब मैंने आरवीएम का उपयोग करके रेल के पुराने संस्करण को स्थापित करने का प्रयास किया तो मैं इस मुद्दे में भाग गया।यह मेरा कोड था:

rvm use 1.8.7 
rvm gemset create rails3.0.1 
rvm [email protected] 
sudo gem install rails --version=3.0.1 #the *sudo* in this line is WRONG 

किसी अन्य उपयोगकर्ता (zetetic) निम्न आदेश के साथ अपने "sudo मणि रेल" की स्थापना रद्द करने का सुझाव दिया:

sudo gem uninstall rails 

और फिर sudo के बिना फिर से स्थापित - gem install rails

मैंने यह सब करने के बाद मैंने अपना मूल कोड पुनः प्रयास किया और यह काम किया, लेकिन इस बार बिना सुडो:

rvm use 1.8.7 
rvm gemset create rails3.0.1 
rvm [email protected] 
gem install rails --version=3.0.1 

उपरोक्त कोड केवल आपके लिए प्रासंगिक हो सकता है यदि आप RVM का उपयोग करने का प्रयास कर रहे हैं, लेकिन अपनी समस्या का समाधान करने के लिए, अपने सूडो रेलों को अनइंस्टॉल करने और सुडो के बिना पुनः इंस्टॉल करने का प्रयास करें। मेरे लिए काम किया सौभाग्य!

45

मैंने उबंटू 10.10 के एक साफ इंस्टॉल पर भी इस समस्या का अनुभव किया ... आरवीएम और रूबी पूर्व-आवश्यकताएं "$ आरवीएम नोट्स" द्वारा प्रलेखित पूर्व-आवश्यकताएं स्थापित करने के बाद भी।

ऐसा लगता है कि "आरवीएम" मणि स्थापना सिस्टम zlib स्थापना को खोजने में असमर्थ है। उपरोक्त डैनियल की टिप्पणी एक महान टिप्पणी है - एक दयालुता यह एक उत्तर के रूप में सूचीबद्ध नहीं है।

तो मेरे लिए समाधान डैनियल द्वारा निर्देशित निर्देशों का पालन करना था: https://rvm.beginrescueend.com/packages/zlib/

$ rvm pkg install zlib 
$ rvm remove 1.9.2 
$ rvm install 1.9.2 

पहला आदेश अपने आरवीएम क्षेत्र में स्थानीय रूप से zlib स्थापित करें। दूसरा आदेश रूबी 1.9.2 को हटा देता है और तीसरा कमांड आरवीएम-स्थानीय zlib के साथ रूबी 1.9.2 को पुनर्स्थापित करता है।

इसके बाद अपने गहरे लाल रंग का संस्करण स्थापित करने और स्थापित रत्न:

$ rvm उपयोग 1.9.2
$ मणि स्थापित "जो कुछ भी"

+2

मुझे निम्नलिखित संस्करण का उपयोग करना पड़ा: आरवीएम इंस्टॉल 1.9.2 --with-zlib-dir = $ rvm_path/usr –

+0

मुझे ज़्लिब की स्थापना के साथ आगे बढ़ने से पहले रूबी प्लेटफार्म को हटाना पड़ा –

2

समाधान है:

apt-get install build-essential libssl-dev libreadline5 libreadline5-dev zlib1g zlib1g-dev 

तब:

rvm install ruby-1.9.2-p290 
rvm default 1.9.2 
7

यदि आपको यह चेतावनी मिल रही है, "त्रुटि: लोड हो रहा है आदेश: अद्यतन (लोडरर) ऐसी कोई फ़ाइल लोड करने के लिए नहीं - zlib"

असल में, यदि zlib लाइब्रेरी उस समय नहीं है जब आप रूबी संकलित करते हैं, तो आप बस वापस जाना है और पुस्तकालय स्थापित करना है और फिर रूबी फिर से संकलित करना है।

तो इन चरणों का

  1. स्थापना रद्द माणिक कोशिश

    rvm remove ruby-1.9.2

  2. आवश्यक पुस्तकालयों स्थापित

    sudo apt-get install build-essential libssl-dev libreadline5 libreadline5-dev zlib1g zlib1g-dev

  3. पुनर्स्थापित माणिक

    rvm install 1.9.2

  4. आप शायद डिफ़ॉल्ट के रूप में गहरे लाल रंग का के इस संस्करण स्थापित करने के लिए

    rvm use 1.9.2 --default

  5. सुरक्षित रहने के लिए, टर्मिनल आपने अभी खोला है बंद करके एक नया एक को खोलने चाहते है। आपको यहां से जाने के लिए अच्छा होना चाहिए।

0
  1. पहले स्थापित आवश्यक libs

    sudo apt-get install build-essential libssl-dev libreadline5 libreadline5-dev zlib1g zlib1g-dev

  2. तो

    , पुनर्स्थापित रूबी 1.9.2

    rvm reinstall 1.9.2 && rvm use 1.9.2

संबंधित मुद्दे