2013-10-17 8 views
6

(Disclaimer:. Nuovo per la distribuzione Sinatra su Heroku)Come posso dire a Sinatra quale ambiente (sviluppo, test, produzione) è?

ho visto http://www.sinatrarb.com/configuration.html e mi dice di set :environment, :production. La mia domanda è, come posso specificare di fare: "quando in Heroku, impostare l'ambiente come produzione, altrimenti rimanere in test/sviluppo".

Inoltre, anche dopo aver messo la linea set :environment, :production, non credo che si sta lavorando perché quando cerco di rackup l'applicazione a livello locale, è ancora in esecuzione (quando so (o credo di sapere) che non dovrebbe perché non ho installato Postgres sul mio computer).

Gemfile

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

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

", quando in Heroku , impostare l'ambiente come produzione, altrimenti rimanere in test/sviluppo ". [Lo fa automaticamente comunque] (https://devcenter.heroku.com/articles/ruby-support#rack-applications), non c'è bisogno di specificare da sé l'ambiente. Basta rimuovere la dichiarazione. Ti suggerisco di * installare * postgres localmente, non ottieni nulla usando SQLite localmente. – iain

risposta

12

L'ambiente Sinatra ha nulla a che fare con le gemme all'interno del gruppo di produzione viene caricato. Questi sono separati e non funzionano l'uno con l'altro.

Sinatra prende l'ambiente dalla variabile RACK_ENV ambiente, basta iniziare con RACK_ENV=production rackup

Bundler funziona un po 'diverso, è possibile scegliere quali gruppi si dovrebbe escludere quando bundle install esecuzione: bundle install --without production

Problemi correlati