2012-06-04 6 views
9

24 के बाद निर्दिष्ट नहीं है। मुझे अंत में समस्या मिली।बंडल कार्यकारी रेक संपत्ति: precompile - डेटाबेस विन्यास अनुकूलक मेरे एप्लिकेशन के साथ समस्या यह खोजने की कोशिश कर के घंटे

मैं

rake assets:precompile RAILS_ENV=production 

भाग गया और मैं इस त्रुटि हो रही है पर रखा।

/Users/vezu/.rvm/rubies/ruby-1.9.3-p194/bin/ruby /Users/vezu/.rvm/gems/[email protected]/bin/rake assets:precompile:all RAILS_ENV=production RAILS_GROUPS=assets 
rake aborted! 
database configuration does not specify adapter 

Tasks: TOP => environment 
(See full trace by running task with --trace) 
rake aborted! 
Command failed with status (1): [/Users/vezu/.rvm/rubies/ruby-1.9.3-p194/bi...] 

मेरे database.yml फ़ाइल इस

development: 
    adapter: postgresql 
    host: localhost 
    encoding: unicode 
    database: ndoda_development 
    pool: 5 
    username: 
    password: 

test: 
    adapter: postgresql 
    encoding: unicode 
    database: ndoda_test 
    pool: 5 
+0

m8 आपका उत्पादन डीबी कॉन्फ़िगरेशन कहां है?)) –

+0

आपको हेरोोकू पर इसकी आवश्यकता नहीं है। हेरोोकू आपके लिए हैडल करता है। क्षमा करें मैं उल्लेख करना भूल गया कि मैं उसकाोकू का उपयोग करता हूं। – Benjamin

उत्तर

29

तरह लग रहा है सरल समाधान मेरी application.rb

config.assets.initialize_on_precompile = false 

और सब कुछ काम करता है के लिए एक सरल पंक्ति जोड़ने के लिए किया गया था।

+2

बस एक नोट: सुनिश्चित करें कि आप उपरोक्त पंक्ति को अपनी config/application.rb में जोड़ दें। मैंने इसे गलती से कॉन्फ़िगर/वातावरण/output.rb में जोड़ा जो रेल्स 4.x में – ChrisBurgess

+2

पीएसए काम नहीं करेगा। इस विकल्प को – steakchaser

10

यह काम करना चाहिए: रेक संपत्ति: precompile RAILS_ENV = विकास

यह अपने उत्पादन वातावरण को लोड करने की कोशिश करता है, जब आपके database.yml यह शामिल नहीं है।

+0

हटाया गया है एसेट सिंक का उपयोग करने वाले किसी के लिए एक नोट। RAILS_ENV को विकास में सेट करने से एसेट सिंक को संकलन के बाद समन्वयित करने से रोका जा सकेगा। – Undistraction

7

ऐसा करें:

development: 
    adapter: postgresql 
    host: localhost 
    encoding: unicode 
    database: ndoda_development 
    pool: 5 
    username: 
    password: 

test: 
    adapter: postgresql 
    encoding: unicode 
    database: ndoda_test 
    pool: 5 

# Add the below... 

production: 
    adapter: postgresql 
    host: localhost 
    encoding: unicode 
    database: ndoda_production 
    pool: 5 
    username: 
    password: 

Heroku अपना संस्करण के साथ अपने database.yml के ऊपर लिख देगा, तो आप में क्या रखा की परवाह किए बिना। हालांकि, उत्पादन वातावरण में चल रहे आपके रेक कार्य को एक चर की आवश्यकता होती है, इसलिए इसे एक डमी दें।

ऊपर बताए अनुसार, आप भी अपने production.rb करने के लिए 'config.assets.initialize_on_precompile = false' जोड़ सकते हैं। यदि सेट किया गया है, तो हेरोकू को इसे 'झूठी' पर सेट करने की आवश्यकता है।

rake assets:precompile RAILS_ENV=production

ssh और प्रकार है कि में आदेश के माध्यम से पहुँच अपने सर्वर, यह चाल करना चाहिए:

+0

यह ध्यान देने योग्य है कि रेल 4 से शुरू हो रहा है Heroku अब आपके डेटाबेस को ओवरराइट नहीं करता है। –

1

क्या मेरे लिए काम किया यह था।

1

यह समाधान रेल 4 के साथ काम करना बंद कर, यहाँ अद्यतन एक है:

https://iprog.com/posting/2013/07/errors-when-precompiling-assets-in-rails-4-0

आदेश है: बस इस अनुच्छेद में उल्लिखित एक डमी डेटाबेस से गुजरती बंडल कार्यकारी रेक RAILS_ENV = उत्पादन DATABASE_URL = PostgreSQL: // उपयोगकर्ता: [email protected]/dbname संपत्ति: precompile

1

सुनिश्चित करें कि आप अपने स्थानीय config/database.yml फाइल में कुछ डमीproduction प्रवेश किया है

production: 
    <<: *default 
    database: your_local_database_name 

मैं 2016 में रेल 4.2.6 और कैपिस्ट्रानो 3.4 के साथ एक ही त्रुटि में आया हूं। हम बस उन्हें कोड के साथ एक साथ अपलोड करने से पहले तैनाती स्क्रिप्ट के दौरान संपत्ति precompiling थे, पर संपत्ति घूस: precompile, कुछ उत्पादन प्रवेश की जरूरत है, भले ही यह सिर्फ एक डमी से एक है।स्रोत: https://github.com/TalkingQuickly/capistrano-3-rails-template/issues/12

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