28

मैं अपने उत्पादन सर्वर पर प्री-कंपाइल करने के लिए संपत्तियों को प्राप्त करने की कोशिश के साथ यहां गोल और गोल कर रहा हूं (सीधे ubuntu रूबी 1.9.2 और रेल के साथ स्थापित करें 3.1.1, और नए sprockets 2.10 के साथ 3.1.2 आरसी की कोशिश की)।"requ_tree तर्क एक निर्देशिका होना चाहिए" रेल 3.1.1 प्रीकंपाइल संपत्ति

"requ_tree तर्क एक निर्देशिका होना चाहिए"। मैंने स्टैक पर इससे जुड़े अन्य मुद्दों को देखा है लेकिन स्थिति बिल्कुल वही नहीं है और प्रस्तावित समाधानों में से कोई भी मदद नहीं करता है - जैसे उप फ़ोल्डर में एक स्टब फ़ाइल बनाना, फिर केवल उस बिंदु पर अपेक्षाकृत संदर्भ। कोई भाग्य नहीं।

और इसे ऊपर से ऊपर करने के लिए, निश्चित रूप से यह उत्पादन एनवी में सभी विकास मशीनों (मैक के साथ ही समान कॉन्फ़िगरेशन, मणि के लिए मिलान करने वाले मणि के साथ) पर पूरी तरह से काम करता है।

//= require ../../views/app/manifest 
//= require_self 

यह करने के लिए ज्यादा नहीं:

यहाँ मेरी /app/assets/javascript/application.js है। असल में ऐप क्षेत्र के लिए वास्तविक मैनिफेस्ट फ़ाइल को इंगित करना (हाँ, बिल्कुल वांछित वेनिला रेल नहीं है ...)

यहां मेरे विचार/व्यवस्थापक (/views/app/manifest.coffee.js) में मेरा स्टब मैनिफेस्ट है):

# = require ./app 
# = require_tree ./models 
# = require_directory ./views <- or using require_directory, either would work fine. 

जैसा कि मैंने कहा, देव env में, कोई समस्या नहीं है। संपत्ति पाइपलाइन फ्लाई पर संकलित है और सबकुछ बढ़िया है। चल रहा है, रेक संपत्तियां: देव मशीन पर प्रीकंपाइल, कोई समस्या नहीं है।

मैं इसे उत्पादन मशीन अप करने के लिए भेजने के लिए और ठीक उसी कोड चलाने के लिए और मैं:

require_tree तर्क एक निर्देशिका

वहाँ है कुछ छोटे छोटे अंतर यहाँ होना चाहिए कि मैं बस नहीं देख रहा हूँ। कोई भी सहायताकाफी प्रशंसनीय होगी!

+0

आपको वास्तव में उन्हें उन संपत्तियों को स्थानांतरित करना चाहिए जहां वे संबंधित हैं और उन्हें ऐप/व्यू निर्देशिका में नहीं डालते –

+0

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

+0

क्या यह हो सकता है कि manifest.coffee.js manifest.js.coffee होना चाहिए? –

उत्तर

85

मैं आपके द्वारा वर्णित इस सटीक मुद्दे में भाग गया। मेरा उत्पादन सर्वर हेरोकू (देवदार ढेर) था। मेरे मामले में मुद्दा यह था कि मेरे में से एक:

require_tree ./mobile 

एक वैध निर्देशिका की ओर इशारा करते थे, लेकिन इस निर्देशिका के लिए कोई फ़ाइल था। देव पर इससे कोई फर्क नहीं पड़ता लेकिन उत्पादन सेटअप के बारे में कुछ त्रुटि हुई जिसके परिणामस्वरूप, "requ_tree तर्क एक निर्देशिका होना चाहिए"।

उम्मीद है कि मदद करता है।

+2

धन्यवाद, आपने मेरा दिन बचाया .. – bragboy

+1

तो मैंने अभी 2 घंटे खो दिए हैं और उम्मीद है कि यह भविष्य में किसी की मदद करेगा। अगर कुछ भी नहीं है फ़ोल्डर में उसकाोकू इसे नहीं बना सकता है। (यदि आपको अभी भी यह चाहिए तो आपको कम से कम एक .gitkeep रखना होगा) – Will

+11

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

17

require_tree एक मौजूदा फ़ोल्डर दी जानी है, लेकिन Gitनहीं दुकान खाली फ़ोल्डर, करता इसलिए जब आप Heroku पर तैनात है, उन खाली फ़ोल्डर मौजूद नहीं है चाहिए।

एक चाल एक खाली जोड़ने के लिए है। फ़ाइल को उन फ़ोल्डर्स में रखें जिन्हें आप रखना चाहते हैं।

+0

यह वास्तविक कारण है कि रिक्त निर्देशिका उत्पादन में मौजूद नहीं है क्योंकि यह गिट में नहीं है। – Kris

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