2012-01-31 17 views
5

बस एक ऐप को रेल 3.0.9 से 3.2.1 तक अपग्रेड किया गया और जब मैं bundle exec rake assets:precompile चलाता हूं तो मुझे त्रुटियां मिलती हैं, जो ठीक है हालांकि बैकट्रैस मुझे नहीं बताता है कि मेरे सीएसएस या एसएसएस में सिंटैक्स समस्या से फ़ाइलें आ रही हैं। मैंने "0ee5c0e69c92af0" के लिए greping करने की कोशिश की लेकिन यह स्ट्रिंग मेरी परियोजना में प्रकट नहीं होता है।रेल एसेट पाइपलाइन बेहतर त्रुटि या स्टैक ट्रेस

bundle exec rake assets:precompile:all RAILS_ENV=production RAILS_GROUPS=assets --trace 
** Invoke assets:precompile:all (first_time) 
** Execute assets:precompile:all 
** Invoke assets:precompile:primary (first_time) 
** Invoke assets:environment (first_time) 
** Execute assets:environment 
** Invoke tmp:cache:clear (first_time) 
** Execute tmp:cache:clear 
** Execute assets:precompile:primary 
rake aborted! 
Invalid CSS after "...0ee5c0e69c92af0": expected ";", was ".png;" 

क्या कोई बेहतर त्रुटि संदेश या प्रीकंपिलेशन प्रक्रिया से स्टैक ट्रेस प्राप्त करने का कोई तरीका है? क्या इस काम के बिना वाक्यविन्यास की जांच करने के लिए मैं अपनी css.erb फ़ाइलों को संकलित कर सकता हूं?

उत्तर

2

वहाँ एक बेहतर तरीका है कि मैं के बारे में पता है, क्योंकि इस संदेश Sprockets द्वारा उत्पन्न होता है (वास्तव में सीएसएस प्रोसेसर) के बाद यह सभी फाइलों को एक साथ concatenated है नहीं है।

config.assets.precompile = ['*.css'] 

तो किसी भी आपके application.css से की आवश्यकता को हटा दें और precompile काम स्थानीय स्तर पर चलाएँ:

एक बात तुम कर सकते हो (अस्थायी) इस के साथ application.rb में डिफ़ॉल्ट precompile सरणी की जगह है। यह प्रत्येक सीएसएस फ़ाइल को व्यक्तिगत रूप से संकलित करेगा, और उम्मीद है कि समस्या कहां है, इसके बारे में आपको और संकेत मिलेंगे।

+0

मैं दूसरे' .png की तलाश में भाग के लिए चारों ओर grep कर रहा था। मुझे लगता है कि यह विधि काम करेगी, हालांकि मैं चाहता हूं कि डिफ़ॉल्ट ने बेहतर त्रुटियां दी हों। – Schneems

+0

शायद आप ऐसी त्रुटियों के लिए अधिक संदर्भ प्रदान करने के लिए स्प्राकेट्स प्रोजेक्ट के साथ एक बग फाइल कर सकते हैं? –

0

ज़रूर, रेक करने के लिए --trace ध्वज पारित:

$ bundle exec rake --trace assets:precompile 
+0

पहले से ही देखा गया था, ऊपर देखें। – Schneems

+0

ओह, ऐसा पाठ क्षेत्र के किनारे से गिर गया। –

0

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

पूर्व संपत्ति पाइपलाइन (.sass):

#background 
    background-image: url('Long Path 1920x1200.jpg') 

के बाद संपत्ति पाइपलाइन (.sass):

#background 
    background-image: image-url('Long Path 1920x1200.jpg') 

दुर्भाग्य से, नई छवि-यूआरएल सहायक एक में रिक्त स्थान के साथ सौदा नहीं कर सकते फ़ाइल का नाम, जबकि पुराना यूआरएल सकता था। तो, जब आप bundle exec rake assets:precompile चलाते हैं तो यह तेजी से बढ़ जाएगा। समाधान रिक्त स्थान को हटाने के लिए है।

सही कोड:, बल्कि हैश जो जाहिरा तौर पर स्वत: जनरेट है की तुलना में `, और इस मुद्दे को ठीक

#background 
    background-image: image-url('long-path-1920x1200.jpg') 
संबंधित मुद्दे