2014-04-02 13 views
5

मैं आरओआर पर काम कर रहा हूं और संयोग से मैंने bundle update कमांड के साथ अपने बंडलों को अपग्रेड किया है, मुझे संदेश मिला है कि बंडल अद्यतित हैं, लेकिन जब मैं अपने रेल सर्वर rails s शुरू करने की कोशिश कर रहा हूं तो यह मुझे एक त्रुटि फेंक रहा है:रेल बंडल पर रूबी

/var/lib/gems/1.9.1/gems/devise-3.2.4/lib/devise/models.rb:88:in `const_get': uninitialized constant Devise::Models::TokenAuthenticatable (NameError) 

कृपया मुझे बताएं कि इसे हल करने के लिए मुझे क्या करना है। मैंने इस पर बहुत सारे आर & डी किया है, लेकिन कोई जवाब नहीं मिला है। मैंने sudo apt-get install rails आरएमवी के साथ रेल स्थापित किए। मुझे लगता है कि आरवीएम के साथ रेल संस्करण को डाउनग्रेड करने का विकल्प है।
कृपया मदद करें।

+0

आपने उल्लेख किया है के रूप में आप rvm उपयोग नहीं कर रहे तो आप कैसे कर सकते हैं नीचे ग्रेड? । एक विशेष रेल संस्करण स्थापित करने के लिए आपको कुछ इंस्टॉल करने की आवश्यकता है जैसे कि मणि इंस्टॉल रेल- v '3.2.16' –

+0

धन्यवाद सबासाची, लेकिन रेल में नया हूं, और जब मैं बंडल को अपडेट करने के लिए कमांड चलाता हूं तो बंडल अपडेट करने से पहले रेल ठीक काम कर रहे थे यह मेरे सभी बंडलों को अपडेट करता है और अब जब मैं रेल सर्वर शुरू करता हूं तो मैंने मुझे एक त्रुटि फेंक दी जैसा मैंने उल्लेख किया था। कृपया मुझे बताएं कि मैं अपने बंडलों को पिछले लोगों के साथ कैसे डाउनग्रेड कर सकता हूं। –

+0

बस Gemfile.lock को हटाएं और बंडल इंस्टॉल करें और मुझे बताएं कि यह काम कर रहा है या नहीं। –

उत्तर

7

इस link के अनुसार:

TokenAuthenticatable वसीयत से हटा दिया गया। तो यदि आप इसे अपने आवेदन में उपयोग कर रहे हैं, तो आपको इसे हटाने की आवश्यकता होगी।

devise :database_authenticatable, :registerable, 
-   :recoverable, :rememberable, :token_authenticatable 

:token_authenticatable हटाया जाना चाहिए।

यह link भी देखें।

यदि यह स्थानीय रूप से काम करता है तो इसका मतलब है कि एक पुराने मणि को लोड किया जा रहा है - सुनिश्चित करें कि आपके रत्नों में एक पुराने संस्करण को शामिल नहीं किया गया है और अपने जेमफाइल में कृपया gem 'devise' केवल संस्करण के बिना निर्दिष्ट करें।

फिर, माणिक संस्करण पदावनति के लिए, आप इसे का उपयोग कर रूबी की RVM और विभिन्न संस्करणों स्थापित करने के लिए अपने मशीन में RVM स्थापित करने के लिए,

कृपया उल्लेख नीचे दिए गए लिंक की जरूरत है। फिर, आप विभिन्न परियोजनाओं के लिए उचित रूबी संस्करणों का उपयोग कर सकते हैं। सिस्टम स्थापित रूबी संस्करण को डाउनग्रेड करने की आवश्यकता नहीं है। इसके अलावा, यदि आपको आवश्यकता हो तो आप सिस्टम रूबी संस्करण का उपयोग कर सकते हैं। (rvm use system)

http://rvm.io/rvm/install

https://rvm.io/rubies/installing

http://rvm.io/rvm/basics

आशा है कि यह मदद करता है :)

+0

@ शिव अग्रवाल: उत्तर अपडेट किया गया। क्या यह आपके लिए काम करता है? –

+0

राजेश का अच्छा सुझाव मुझे यह पता था, लेकिन मैं चाहता हूं कि यह परियोजना सही हो जाए। मैं कई अन्य रत्नों का उपयोग कर रहा हूं आरवीएम के साथ मुझे लगता है कि मुझे हर जगह बदलना है .. मेरी परियोजना अंतिम चरण पर है इसलिए मैं अनुशंसा करता हूं कि यह सही हो जाए .. –

+1

@ShivAggarwal: अरे, आरवीएम का उपयोग कर रूबी के निचले संस्करण स्थापित करने के लिए यह एक बड़ा सौदा नहीं है। आखिरकार आप डॉनग्रेड करना चाहते हैं, है ना? बस आरवीएम स्थापित करें और रूबी संस्करण (जिसे आप डाउनग्रेड करना चाहते हैं) को इंटॉल करें और प्रोजेक्ट फ़ोल्डर से, बस 'आरवीएम उपयोग 1.8.7' चलाएं और बंडल इंस्टॉल चलाएं। इस लिंक को http://octopress.org/docs/setup/rvm/ देखें। इसे करने में केवल 5 मिनट लगेंगे। यदि कोई समस्या है, तो 'आरवीएम उपयोग प्रणाली' चलाकर सिस्टम रूबी संस्करण का उपयोग करें। अगर यह आपको सही तरीके से मदद करता है, तो जवाब स्वीकार करें। –

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