2012-06-02 11 views
10

जब भी मैं एक रत्न आदेश दर्ज क्रियान्वित करते हैं, मैं इस त्रुटि मिलती है: जब मैं gem list चलानेऐसे</p> <pre><code>gem "tilt" </code></pre> <p>या</p> <pre><code>gem "mysql" </code></pre> <p>के रूप में मणि, अज्ञात आदेश

While executing gem ... <RuntimeError> 
Unknown command tilt 

, दोनों झुकाव और mysql सूची में दिखाई देते हैं, तो वे स्थापित हैं। वास्तव में, मुझे सूची में प्रत्येक आइटम के साथ यह त्रुटि मिलती है। ऐसा किसके कारण हो सकता है?

उत्तर

21

gem आपसे झूठ नहीं बोल रहा है, वे gem आदेश मान्य नहीं हैं।

शायद आप बंडलर के साथ कमांड लाइन को भ्रमित कर रहे हैं? उदाहरण के लिए,

gem "tilt" 
एक Gemfile को

जोड़ने और चल bundle install झुकाव स्थापित हो जाएगा। लेकिन बंडलर अपने स्वयं के वाक्यविन्यास का उपयोग करता है, और एक शेल स्क्रिप्ट नहीं है। gem द्विआधारी का उपयोग कर झुकाव स्थापित करने के लिए सीधे आपको बस इतना करना होगा:

gem install tilt 

gem help चल रहा है आप gem के आदेश पंक्ति तर्क की एक सूची दे देंगे।

+0

कारण मैं पूछ रहा हूं क्योंकि मैं कमांड का उपयोग कर एक विशिष्ट संस्करण में mysql सेट करने की कोशिश कर रहा हूं: gem 'mysql2', '0.2.7'। दुर्भाग्यवश, जब मैं इस आदेश का उपयोग करता हूं, तो मुझे एक ही त्रुटि मिलती है। कोई विचार क्यों? – nullnullnull

+0

क्योंकि यह एक वैध आदेश नहीं है जैसा मैंने कहा था। यदि आप मेरे प्रश्न के अनुसार 'gem' के लिए सहायता दस्तावेज़ पढ़ते हैं, साथ ही इंस्टॉल करने के लिए विशिष्ट' gem help install' ', तो आपको एक विशिष्ट संस्करण स्थापित करने के लिए सही तर्क मिलेंगे:' gem mysql2 --version 0.2 स्थापित करें .7'। –

+0

टिप, एंड्रयू के लिए धन्यवाद। मुझे एक और स्टैक ओवरफ्लो पेज से मूल आदेश मिला और मुझे पता नहीं चला कि यह मेरे सिस्टम पर क्यों काम नहीं कर रहा था। मुझे अभी भी पता नहीं है, लेकिन आपका आदेश काम करता है। शायद ओएस के साथ कुछ करना है? – nullnullnull

2

आप जेमफाइल वाक्यविन्यास का उपयोग कर रहे हैं और आपको कमांडलाइन वाक्यविन्यास का उपयोग करना चाहिए। इस आजमाएँ:

gem install mysql2 -v 0.2.7 
+0

इंस्टॉल करें यह बिल्कुल ठीक है। धन्यवाद, डेविड! – nullnullnull

1

सुनिश्चित करें कि आपके वाक्य रचना और दिशानिर्देशों के लिए सही है आप

gem help

टाइप माणिक के लिए स्वीकार्य वाक्य रचना को देखने के लिए कर सकते हैं,

आप इस त्रुटि मिलती है "आपके पास/लाइब्रेरी के लिए लिखने की अनुमति नहीं है"

विशेषाधिकार बढ़ाने के लिए आप हमेशा sudo जोड़ सकते हैं रों।

उदाहरण के लिए। sudo gem install <gemname>

अपने कोड से पहले sudo का उपयोग करना और यह आपको प्रशासनिक पहुंच प्रदान करेगा (आपके कंप्यूटर पासवर्ड टाइप करने के बाद)।

इसके बाद आपको मणि स्थापित करने के लिए bundle install चलाने की आवश्यकता हो सकती है।

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