2012-12-04 10 views
27

संपादित करें: मैं रेल छात्रों पर एक नया रूबी हूं।उसकी रीक संपत्तियों को निरस्त करने में त्रुटि - प्रीकंपाइल

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

-----> Preparing app for Rails asset pipeline 
    Running: rake assets:precompile 
    rake aborted! 
    could not connect to server: Connection refused 
    Is the server running on host "127.0.0.1" and accepting 
    TCP/IP connections on port 5432? 
    Tasks: TOP => environment 
    (See full trace by running task with --trace) 
    Precompiling assets failed, enabling runtime asset compilation 
    Injecting rails31_enable_runtime_asset_compilation 
    Please see this article for troubleshooting help: 
    http://devcenter.heroku.com/articles/rails31_heroku_cedar#troubleshooting 

नीचे शामिल मेरी Gemfile की सामग्री हैं:

gem 'rails', '3.2.8' 
gem 'bootstrap-sass', '2.1' 
gem 'pg' 

group :development, :test do 
    gem 'rspec-rails' 
    gem 'guard-rspec' 
    gem 'guard-spork' 
    gem 'spork' 
    gem 'annotate' 
    gem 'database_cleaner' 
end 

# Gems used only for assets and not required 
# in production environments by default. 
group :assets do 
    gem 'sass-rails', '~> 3.2.3' 
end 

platforms :jruby do 
    gem 'trinidad' 
    gem 'jruby-openssl' 
end 

gem 'jquery-rails' 

# Use unicorn as the web server 
# gem 'unicorn' 

# Deploy with Capistrano 
# gem 'capistrano' 

# To use debugger 
# gem 'ruby-debug' 

# Bundle the extra gems: 
gem 'RedCloth', '~> 4.2.9', :require => 'redcloth' 
gem 'ruby-openid', :require => 'openid' 
gem 'rack-openid', :require => 'rack/openid' 
gem 'aaronh-chronic', :require => 'chronic' # Fixes for 1.9.2 
gem 'coderay' 
gem 'lesstile' 
gem 'formtastic' 
gem 'will_paginate', '~> 3.0.2' 
gem 'exception_notification', '~> 2.5.2' 
gem 'open_id_authentication' 

# Bundle gems for the local environment. Make sure to 
# put test-only gems in this group so their generators 
# and rake tasks are available in development mode: 
group :test do 
    gem 'database_cleaner' 
    gem 'cucumber-rails', :require => false 
    gem 'cucumber-websteps', :require => false 
    gem 'factory_girl' 
    gem 'rspec' 
    gem 'nokogiri', '~> 1.5.0' 
    gem 'webrat' 
end 

क्या समस्या हो सकती है?

अद्यतन: मैंने --trace के साथ रेक आदेश चलाया, और उसने मुझे विफलता के साथ चेतावनी दी क्योंकि उत्पादन डेटाबेस मौजूद नहीं था। मैं डेटाबेस बनाया है, और --trace फिर से भाग है, और यह मैं वर्तमान में क्या फेंक दिया जा रहा है है:

Command failed with status (1): [/usr/local/Cellar/ruby/1.9.3-p286/bin/ruby...] 

उत्तर

56

Rails 3.1+ Asset Pipeline on Heroku Cedar लेख देखें। यह सटीक परिदृश्य समस्या निवारण खंड में शामिल है।

संक्षेप में, आपके हेरोोक एप्लिकेशन में भवन (संपत्ति संकलन समेत) और चलने (जहां आपका आवेदन उपलब्ध हो) के बीच एक मजबूत अलगाव है। यह 12-factor app principles के साथ संगत है, लेकिन इसका मतलब है कि आपका एप्लिकेशन बिल्ड चरण के दौरान किसी भी कॉन्फ़िगर किए गए संसाधनों तक नहीं पहुंच सकता - डेटाबेस सहित - जिसका अर्थ है ActiveRecord परिसंपत्ति प्रीकंपिलेशन के दौरान अनुपलब्ध है।

आप config/application.rb में संपत्ति संकलन के दौरान आपके आवेदन bootstrap के लिए नहीं रेल बता सकते हैं:

config.assets.initialize_on_precompile = false 

समस्या निवारण अनुभाग भी सिफारिश की गई है:

तो रेक संपत्ति: precompile अभी भी काम नहीं कर रहा है, आप कर सकते हैं अपने स्थानीय config/database.yml में एक गैर-डेटाबेस डेटाबेस को कॉन्फ़िगर करके और rake assets:precompile चलाने का प्रयास करके इसे स्थानीय रूप से डीबग करें। आदर्श रूप से आप डेटाबेस से कनेक्ट किए बिना इस कमांड को चलाने में सक्षम होना चाहिए।

+1

यह वही था जो मुझे चाहिए, बहुत बहुत धन्यवाद। –

+1

कुंजी बिंदु नीचे उल्लिखित है, सुनिश्चित करें कि आप उस परिवर्तन को प्रतिबद्ध करते हैं! – CJBrew

13

मैं आज रात एक ही समस्या के साथ संघर्ष कर रहा था।

config.assets.initialize_on_precompile = false 

जोड़ने application.rb करने के बाद, सही बाद में एक

git commit 

करने के लिए याद है। मैं यह करने के लिए भूल गया, और Heroku को पता नहीं था कि मैं application.rb बदल दिया होगा। उनके पास उनके समस्या निवारण पृष्ठ पर यह अतिरिक्त पंक्ति नहीं है।

4

रेल 4

सक्षम Heroku लैब्स के लिए इस समस्या को

Heroku प्रयोगशालाओं को ठीक करने की सुविधा: उपयोगकर्ता के env-संकलन

+1

ऐसा लगता है कि यह सेवानिवृत्त हो गया था। https://devcenter.heroku.com/changelog-items/416 –

+0

धन्यवाद @ एंडी-अटकिन्सन –

3

मैं रेल 4 के साथ इस मुद्दे था और से कोई भी सक्षम अन्य सुझावों में मदद मिली। आखिरकार मैंने इसे समझ लिया और यह रोलिफ़ीम मणि डेटाबेस से कनेक्ट करने की कोशिश कर रहा था।यह रोलिफ़ीम मणि में तय किया गया है, हालांकि, आपको ठीक करने के लिए नवीनतम स्रोत कोड को पकड़ने की आवश्यकता हो सकती है। मैं बस के लिए Rollify के लिए मेरे मणि आयात बदलने के लिए:

gem 'rolify', :git => 'git://github.com/EppO/rolify.git' 

कि समस्या को ठीक करने लग रहा था और मैं अन्य सुझावों में से कोई कार्य करने के लिए नहीं था।

स्थापित करने और गिट में बदलाव करने के लिए मत भूलना।

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

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