2013-10-17 110 views
6

(免責聲明:新建在Heroku上部署西納特拉)我如何告訴Sinatra它是什麼環境(開發,測試,生產)?

我已經看到http://www.sinatrarb.com/configuration.html,它告訴我set :environment, :production。我的問題是,我該如何指定它:「在Heroku中,將環境設置爲生產,否則留在測試/開發中。」

另外,即使在放行set :environment, :production後,我認爲它不工作,因爲當我嘗試在rackup該應用程序本地,它仍然在運行(當我知道(或我認爲我知道),它不應該因爲我沒有在我的電腦上安裝postgres)。

的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),無需自己指定環境。請刪除該聲明。我建議你*在本地安裝postgres,在本地使用SQLite不會獲得任何好處。 – iain

回答

12

的西納特拉環境無關,裏面裝載的製作組的寶石。這些是分開的,不相互配合。

西納特拉從RACK_ENV環境變量採用的環境,只是RACK_ENV=production rackup

捆紮機開始它的工作原理有點不同,你可以選擇組時,運行捆綁安裝它應該排除:bundle install --without production

相關問題