8
私のsinatraコードをリファクタリングして、メインファイルを別のファイルに分割しようとしています(this responseのヒントを使用しています)、私はherokuに展開する際に問題があります。 heroku cedar stackにsinatra appを配備する
があった、以前私がconfig.ru
ファイルを持っていなかった、と私の
Procfile
使用:
web: bundle exec ruby web.rb -p $PORT
this articleあたりとして。リファクタリングから
は、私は今、私のconfig.ru
ファイルが
root = ::File.dirname(__FILE__)
require ::File.join(root, 'web')
run MyApp.new
そして、クラス定義
class MyApp < Sinatra::Application
# ...
end
の周りに収容されている私の
web.rb
ファイルされた状態で
web: bundle exec thin -R config.ru start -p $PORT
に私のProcfile
を変更しました
これは私のローカル開発で動作します私が英雄に配備するときは、
2011-12-01T11:21:54+00:00 app[web.1]: bundler: command not found: thin
2011-12-01T11:21:54+00:00 app[web.1]: Install missing gem executables with `bundle install`
2011-12-01T11:21:56+00:00 heroku[web.1]: State changed from starting to crashed
2011-12-01T11:22:01+00:00 heroku[router]: Error H10 (App crashed) -> GET [my app].herokuapp.com/ dyno= queue= wait= service= status=503 bytes=
2011-12-01T11:22:02+00:00 heroku[router]: Error H10 (App crashed) -> GET [my app].herokuapp.com/favicon.ico dyno= queue= wait= service= status=503 bytes=
英雄には薄いがインストールされていませんか?それとも、私のアプリを英雄に変えて実行する方法がありますか?
[OK]を、ので、私はシナトラ::アプリケーションの代わりに、MyApp.newですべてを使用するconfig.ruを変更する必要はありませんでした:
Procfile
となりました。答えから削除する。 – zlog