2012-02-12 30 views
23

जब कोई स्पॉकेट ऑब्जेक्ट संकलन विफल रहता है (कॉफीस्क्रिप्ट या SASS में सिंटैक्स त्रुटि के कारण), त्रुटि ठीक होने के बाद यह पुन: संकलित नहीं हो सकता है क्योंकि यह कहता है "फ़ाइल पहले से ही आवश्यक है।"स्प्राकेट कैश को कैसे साफ़ करें?

स्प्राकेट्स ऑब्जेक्ट को काम करने के लिए, मुझे इसे नष्ट करना और फिर से बनाना है। मैं सोच रहा था कि क्या किसी को पता था कि स्प्राकेट ऑब्जेक्ट को आंतरिक रूप से रीसेट करने का कोई तरीका था क्योंकि इस मुद्दे में भाग नहीं लिया गया था।

+1

क्या यह विकास मोड में है या ऐसे माहौल में जहां आप प्रीकंपील्ड संपत्ति का उपयोग कर रहे हैं? –

उत्तर

23

rake tmp:cache:clear अस्थायी कैश निर्देशिका हटा देता है।

+0

स्पॉकेट कैश साफ़ नहीं करता है। '/ Tmp/कैश/संपत्ति/विकास/sprockets /' के तहत फ़ाइलें अभी भी मौजूद हैं। – Zorayr

+1

'रेक संपत्तियों: क्लॉबर' के बारे में क्या? यह एक हालिया जोड़ा है और केवल रेल 4 में उपलब्ध हो सकता है। –

+4

मेरे मामले में, 'रेक टीएमपी: स्पष्ट' काम किया। – Zorayr

9

मेरे मामले में, निम्न आदेश काम किया:

rake tmp:clear 
+1

यह केवल संपत्ति/स्प्राकेट कैश की तुलना में एक व्यापक "स्पष्ट" है। ['Tmp' दस्तावेज़] के अनुसार (http://guides.rubyonrails.org/command_line.html#tmp):" रेक टीएमपी: स्पष्ट तीनों को साफ़ करता है: कैश, सत्र और सॉकेट "। –

2

यह होना चाहिए:

Rails.application.assets.cache.clear 

लेकिन this method केवल मास्टर शाखा में और beta में भी नहीं।

अद्यतन: 4.0.0.beta5 में जोड़ा गया।

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