2014-04-19 7 views
26

मैं अपना पहला रेल 4.1 ऐप स्थापित कर रहा हूं, जो वसंत के साथ आता है, उनका नया प्रीलोडर। जब मैं अपने जनरेटर ($ rails generate devise:install) का उपयोग करके डेविस स्थापित करने का प्रयास करता हूं, तो कमांड लाइन बस लटकती है और कुछ भी उत्पन्न नहीं होता है।रेल स्प्रिंग ब्रेकिंग जेनरेटर

यदि मैं मणि फ़ाइल से वसंत को हटा देता हूं और फिर कोशिश करता हूं, तो देवता जनरेटर काम करता है।

किसी के पास कोई अंतर्दृष्टि है?

उत्तर

31

उस समय कुछ अन्य परियोजनाओं की निर्देशिकाओं की जांच करें जिन पर आप काम कर रहे थे, संभावना है कि जेनरेट की गई फाइलें वहां समाप्त हो गईं।

वसंत एक समय में एक से अधिक रेल ऐप के साथ काम करते समय उलझन में प्रतीत होता है। शायद यही कारण है कि आपकी समस्या

वसंत सर्वर के रूप में चलता है और रेल वातावरण को लोड करता है। मुझे लगता है कि क्या होता है कि यदि आप एक समय में एक से अधिक परियोजनाओं के साथ काम करते हैं तो वसंत प्रणाली भ्रमित हो जाती है और गलत वातावरण का उपयोग करती है।

मेरे पास एक ऐसी स्थिति है जहां मैं एक परियोजना में rails g ... चला रहा था और फाइलें किसी अन्य प्रोजेक्ट में उत्पन्न हो रही थीं। पागल क्या था कि मैंने उस फ़ोल्डर को नामकरण और आगे बढ़ाना जारी रखा, और फिर भी जनरेटर ने उस फ़ोल्डर में फ़ाइलों को रखा। जैसे कि वसंत उस फ़ोल्डर के इनोड पर लेट गया था।

प्रयास करें DISABLE_SPRING=1 rails g devise:install

या ps aux |grep spring और सभी प्रक्रियाओं आप देख मारने और फिर rails g devise:install

हम अब के लिए Gemfile से वसंत बाहर ले जा रहे हैं चलाने जबकि इस टूटे हुए व्यवहार बनी रहती है, और भविष्य में उपयोग में rails new --skip-spring

यदि आप वसंत का उपयोग करना चाहते हैं, तो इन नियमों का पालन करने का प्रयास करें

    प्रत्येक नई परियोजना
  • प्रत्येक नए प्रोजेक्ट के लिए नया निर्देशिका नाम का उपयोग के लिए
  • नई गोले का उपयोग करें (आप फिर से उस पर rails new blog, काम, तो mv blog blog.old और rails new blog करते हैं, यह काम नहीं हो सकता है।
  • समय-समय पर सुरक्षा के (और सैनिटी) के लिए, सभी वसंत सर्वरों को मारने पर रखें।
+3

मैं केवल एक परियोजना था, लेकिन अभी भी रेल जनरेटर एक लंबे काफी समय लगा - gemfile यह तय से वसंत को हटाने। तो, वसंत समस्या है, लेकिन जरूरी नहीं कि कई परियोजनाओं के कारण – Anand

+2

वास्तव में वसंत निश्चित रूप से टूटा हुआ है। रेल टीम जाने और डिफ़ॉल्ट रूप से एक टूटा हुआ मणि जोड़ने का तरीका। – kakubei

+0

प्रक्रियाओं को मारने के बजाय, 'वसंत स्टॉप' पर्याप्त होना चाहिए। –

7

आप पर्यावरण परिवर्तनीय DISABLE_SPRING=1 पारित करके किसी भी $ rails कमांड के लिए वसंत अक्षम कर सकते हैं।

$ DISABLE_SPRING=1 rails generate devise:install 

वैकल्पिक रूप से, आप वसंत प्रक्रियाओं को कम करने के लिए $ spring stop को आजमा सकते हैं। $ rails generate चलने के बाद एक नई वसंत प्रक्रिया बढ़ जाएगी, जो अस्थायी समस्या को हल कर सकती है।

+0

'DISABLE_SPRING = 1' वसंत के माध्यम से आदेशों को निर्देशित करने से रेल को रोक देगा, लेकिन वसंत सर्वर अभी भी पृष्ठभूमि में चलता है। ओपी के लिए यह समस्या हो सकती है या नहीं भी हो सकती है। कमांड प्रॉम्प्ट से 'स्प्रिंग स्टॉप' चलाना * स्प्रिंग सर्वर (कम से कम 4.2.0 में) को रोकता है, और जेमफाइल से इसे टिप्पणी करने से इसे फिर से शुरू करने से रोकता है। (जब तक कि आप किसी अन्य प्रोजेक्ट पर काम न करें जो अभी भी सक्षम है।) –

1

यह एक पुरानी पोस्ट है, लेकिन मैं अपने अनुभव किसी को मदद कर सकता है लगता है ...

रेल 5.0.1

मैं एक ही मुद्दे का सामना करना पड़ रहा था के बाद मैं में गड़बड़ कुछ वसीयत उत्पन्न फ़ाइलों (मैं नया हूँ रेल और सीखने के लिए) और मैंने कोशिश की कि रेलवे तैयार मॉडल को नष्ट कर दें और मैं अटक गया, कई बार कोशिश की और कुछ भी काम नहीं किया।

गुगल, वसंत रत्न को छोड़कर कोशिश की, और यह काम किया, फिर से वसंत रत्न जोड़ा, और फिर से सब कुछ पर अटक गया।

मैंने अभी टर्मिनल बंद कर दिया और नया खोला, और यह काम किया।

1

प्रतिसाददाताओं मणि के लिए रेल 5.1.4 पर एक ही समस्या

मैं पिछले अभियानों के साथ-साथ समाधान सूचीबद्ध नहीं है:

  • पास टर्मिनल और साथ नया एक
  • रन कमांड खोलने
    DISABLE_SPRING=1 bundle exec rails generate responders:install
    या इसे पर्यावरण परिवर्तनीय के रूप में निर्यात करें
    export DISABLE_SPRING=1
  • मार अपने अनुप्रयोग के लिए वसंत प्रक्रिया चल
    ps ax | grep spring | grep YOUR_APP_NAME | cut -f1 -d' ' | xargs kill
संबंधित मुद्दे