2013-10-17 14 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=production rackup

バンドラーは少し違う作品でそれを起動し、RACK_ENV環境変数から環境を取り、あなたが実行中のバンドルをインストールするとき、それは除外すべきグループを選択することができます。bundle install --without production

関連する問題