2013-10-17 21 views
6

(अस्वीकरण:। Heroku पर सिनात्रा की तैनाती पर नए)मैं सिनात्रा को कैसे बता सकता हूं कि यह पर्यावरण (विकास, परीक्षण, उत्पादन) क्या है?

मैं http://www.sinatrarb.com/configuration.html देखा है और यह मेरे set :environment, :production को बताता है। मेरा सवाल यह है कि, मैं इसे कैसे करने के लिए निर्दिष्ट कर सकता हूं: "जब हेरोोक में, पर्यावरण को उत्पादन के रूप में सेट करें, तो परीक्षण/विकास में रहें।"

इसके अलावा, set :environment, :production लाइन डालने के बाद भी, मुझे नहीं लगता कि यह काम कर रहा है क्योंकि जब मैं rackup स्थानीय रूप से ऐप करने की कोशिश करता हूं, तो यह अभी भी चल रहा है (जब मुझे पता है (या मुझे लगता है कि मुझे पता है) कि यह नहीं होना चाहिए क्योंकि मैंने अपने कंप्यूटर पर पोस्टग्रेज़ इंस्टॉल नहीं किए हैं)।

Gemfile

group :production do 
    gem 'dm-postgres-adapter' 
end 

group :development, :test do 
    gem 'dm-sqlite-adapter', "~> 1.2.0" 
end 
+0

"Heroku में जब , पर्यावरण को उत्पादन के रूप में सेट करें, अन्यथा परीक्षण/विकास में रहें। " [यह वैसे भी स्वचालित रूप से करता है] (https://devcenter.heroku.com/articles/ruby-support#rack-applications), पर्यावरण को स्वयं निर्दिष्ट करने की आवश्यकता नहीं है। बस कथन हटा दें। मैं सुझाव दूंगा कि आप * स्थानीय रूप से पोस्टग्रेस इंस्टॉल करें, आपको स्थानीय रूप से SQLite का उपयोग करके कुछ भी प्राप्त नहीं होता है। – iain

उत्तर

12

सिनात्रा पर्यावरण उत्पादन समूह को लोड किए जाने के अंदर रत्नों से कोई संबंध नहीं है। ये अलग हैं और एक-दूसरे के साथ काम नहीं करते हैं।

सिनात्रा RACK_ENV वातावरण चर से पर्यावरण लेता है, बस RACK_ENV=production rackup

Bundler साथ इसे शुरू थोड़ी अलग काम करता है, आप चुन सकते हैं जो समूहों यह जब चल बंडल स्थापित बाहर रखना चाहिए: bundle install --without production

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