2012-03-19 17 views
18

पर तैनात करते समय मेरी वेबसाइट काम करने के लिए प्रयुक्त होती थी और हेरोोक ने संपत्तियों और सबकुछ का प्रीकंपल किया था। अब, मालूम होता है कहीं से, मैं तैनाती पर इस संदेश को प्राप्त करने के लिए शुरू कर दिया:"रेक निरस्त! स्टैक स्तर बहुत गहरा" हैरोकू

Preparing app for Rails asset pipeline 
Running: rake assets:precompile 
mkdir -p /tmp/build_31cexir1p9pwn/public/assets 
mkdir -p /tmp/build_31cexir1p9pwn/public/assets/icons 
mkdir -p /tmp/build_31cexir1p9pwn/public/assets/icons 
mkdir -p /tmp/build_31cexir1p9pwn/public/assets 
mkdir -p /tmp/build_31cexir1p9pwn/public/assets 
(in /tmp/build_31cexir1p9pwn) 
mkdir -p /tmp/build_31cexir1p9pwn/public/assets 
mkdir -p /tmp/build_31cexir1p9pwn/public/assets 
rake aborted! 
stack level too deep 
(in /tmp/build_31cexir1p9pwn/app/assets/stylesheets/theme.css.scss) 

(See full trace by running task with --trace) 
Precompiling assets failed, enabling runtime asset compilation 
Injecting rails31_enable_runtime_asset_compilation 

यह मेरी सीएसएस फ़ाइल precompile नहीं कर सकते।

मैं देवदार ढेर उपयोग कर रहा हूँ और यह मेरा gemfile है: है

gem 'rails', '3.1.0' 
gem 'rake', '0.8.7' 
gem 'devise' 

group :production do 
    gem 'pg' 
    gem 'thin' 
end 

group :assets do 
    gem 'sass-rails', " ~> 3.1.0" 
    gem 'coffee-rails', "~> 3.1.0" 
    gem 'uglifier' 
end 

यहाँ यहाँ मेरी application.rb फ़ाइल

# Enable the asset pipeline 
config.assets.enabled = true 

# Version of your assets, change this if you want to expire all your assets. 
config.assets.version = '1.0' 

है और मेरे production.rb फ़ाइल

# Code is not reloaded between requests 
config.cache_classes = true 

# Full error reports are disabled and caching is turned on 
config.consider_all_requests_local  = false 
config.action_controller.perform_caching = true 

# Enable Rails's static asset server (Apache or nginx will not need this) 
config.serve_static_assets = true 

# Set expire header of 30 days for static files 
config.static_cache_control = "public, max-age=2592000" 

# Allow JavaScript and CSS compression 
config.assets.compress = true 

# Compress JavaScript by removing whitespace, shortening variable names, ... 
config.assets.js_compressor = :uglifier 

# Don't fallback to assets pipeline if a precompiled asset is missed 
config.assets.compile = true 

अब छवियों के मेरे सभी लिंक टूटा हुआ है (मैं अपनी सीएसएस फ़ाइल में छवि-यूआरएल() का उपयोग कर रहा हूं)। समस्या क्या हो सकती है और मैं इसे कैसे ठीक कर सकता हूं?

+0

क्या आप इस फ़ाइल को सूचीबद्ध करने में सक्षम होंगे, theme.css.scss। ऐसा लगता है कि आपकी संपत्ति पाइपलाइन –

+1

"स्टैक स्तर बहुत गहरी" त्रुटि है, असल में, स्मृति से बाहर चल रहे एप्लिकेशन का एक मामला है। यह अक्सर उन कार्यक्रमों का परिणाम होता है जो बहुत सारे रिकर्सन (फ़ंक्शन जो स्वयं को कॉल करते हैं) का उपयोग करते हैं, और पार्सर्स (सीएसएस से सीएसएस, जेएस से कॉफीस्क्रिप्ट, ईआरबी से एचटीएमएल) जैसी चीजें आम तौर पर रिकर्सन का उपयोग करती हैं। काम के आसपास के रूप में, तैनाती से पहले संपत्तियों को पूर्व-संकलित करने का प्रयास करें - आपके स्थानीय मशीन पर हेरोोकू इंस्टेंस की तुलना में अधिक स्मृति हो सकती है। –

+0

यह एक बहुत ही गंभीर बग है। क्या आपने गीथब पर इसकी रिपोर्ट की थी? – jcollum

उत्तर

30

मैं वास्तव में हताश था इसलिए मैं asked another question था। जाहिर है यह एसएएस-रेल के लिए एसएएस और डाउनग्रेडिंग के कारण होता है v3.1.4 v3.2.5 इसे काम करेगा।

+0

यह मेरे लिए भी काम करता है। मैं थोड़ी अजीब बात कर रहा हूं कि यह इस लंबे समय तक एक समस्या है और एसएएस-रेल मास्टर अभी भी इस समस्या का कारण बनता है। इच्छा है कि मुझे पता था कि घटनाओं की श्रृंखला किस वजह से हुई: - \ –

0

सास-रेल के लिए v3.1.4 मुझे :)

0

उन्नयन के लिए काम किया v3.2.12 मुझे

लेकिन कुल मिलाकर, यह मुद्दा की तरह सभी मौजूदा संस्करणों पर तय हो गई है लग रहा है के लिए चाल किया सास को पदावनति , बस एक बंडल अपडेट करें और आपको अच्छा होना चाहिए।

1

रूबी 2.3.0 या निम्न संस्करणों के लिए में निम्नलिखित पंक्तियां हैं। आरबी रेल के लिए फ़ाइल। लेकिन 2.4.0 या उच्चतर ने स्वचालित रूप से उन्हें लागू किया है।

Bundler.require(*Rails.groups)

2.3.0 करने के लिए गहरे लाल रंग का संस्करण बदलने चाल किया था। यह मेरा दिन बचाया।

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