पर सिनात्रा कॉन्फ़िगर करने वाले वातावरण मैंने एक छोटे सिनात्रा एप्लिकेशन को सफलतापूर्वक लिखा है और इसे पहले से ही सफलतापूर्वक इसे हीोकू पर तैनात किया है।फ्लाई
हालांकि मैं अपने स्थानीय कंप्यूटर पर विकास मोड में उस एप्लिकेशन को चलाने के लिए चाहता हूं और मैं इसे रिमोट रिपोजिटरी पर धक्का देने के बाद इसे अपनेोकू पर उत्पादन मोड बनाना चाहता हूं।
वर्तमान में मैं या तो विकल्पों में से एक प्राप्त कर सकता हूं। जब मैं निम्न मान के लिए मेरे config.ru बदलने के लिए:
require 'rubygems'
require 'sinatra'
require 'sinatra/reloader'
require "./calc.rb"
enable :logging
set :environment, :development
set :port, 4567
मैं ruby config.ru
के माध्यम से स्थानीय स्तर पर इसे चलाने के लिए (पोर्ट 4567 पर) में सक्षम हूँ। जब मैं यह करने के लिए config.ru बदलने के लिए:
require 'rubygems'
require 'sinatra'
require 'sinatra/reloader'
require "./calc.rb"
enable :logging
set :environment, :production
set :port, 4567
run Sinatra::Application
मैं इसे (पोर्ट 80 पर) Heroku पर चलाने के लिए प्राप्त करने में सक्षम हूँ।
लेकिन मैं विकास और उत्पादन दोनों के लिए एक ही कॉन्फ़िगरेशन का उपयोग नहीं कर सकता।
उत्पादन के लिए विकास के लिए ruby config.ru dev
और ruby config.ru
:
मैं की तरह कुछ करना चाहते हैं।
अतिरिक्त जानकारी:
जब मैं अपने स्थानीय मशीन पर उत्पादन config.ru चलाने का प्रयास मैं:
$ ruby config.ru
(eval):2:in `method_missing': undefined method `run' for main:Object (NoMethodError)
from (eval):4:in `__send__'
from (eval):4:in `method_missing'
from config.ru:10
RACK_ENV चीज सिर्फ खिड़कियां नहीं है, वही होता है मेरे मैक पर मेरे लिए। दिलचस्प बात यह है कि पिछले साल से रैक में एक [ठीक है] [https://github.com/rack/rack/commit/32de46c139e10dc2261ca63a3049e98e310d0781) लगता है लेकिन इसने इसे मणि में नहीं बनाया है। रैक RACK_ENV को जो भी आप '-E' के साथ निर्दिष्ट करते हैं और' विकास 'के लिए डिफ़ॉल्ट रूप से सेट करता है और सिनात्रा को यह देखना चाहिए। – matt