rerunでSinatraのファイル変更時にリロード

  • 6
    Like
  • 0
    Comment
More than 1 year has passed since last update.

最近は、pow&powderをローカルの開発環境で使うことが当たり前になってきているかと思いますが、powはOSX依存なので、使いたくない時もあると思います。

そういう時はrerunコマンドを使うと良いです。

gem install rerun

通常Sinatraのアプリケーションを動かす時は、

ruby app.rb

のように起動しますが、rerunを使った場合は、以下のようにします。

rerun 'ruby app.rb'
# rubyコマンドを使う場合

rerun 'rackup'
# rackupから起動する場合

変更があると、rerunが感知して、serverを再起動してくれます。

[2014-03-18 16:35:59] INFO  WEBrick 1.3.1
[2014-03-18 16:35:59] INFO  ruby 2.1.0 (2013-12-25) [x86_64-darwin13.0]
[2014-03-18 16:35:59] INFO  WEBrick::HTTPServer#start: pid=15257 port=9292
16:36:18 [rerun] Change detected: 1 modified
16:36:18 [rerun] Sending signal TERM to 15257
[2014-03-18 16:36:18] FATAL SignalException: SIGTERM
[2014-03-18 16:36:18] INFO  going to shutdown ...
[2014-03-18 16:36:18] INFO  WEBrick::HTTPServer#start done.

16:36:18 [rerun] Yourapp restarted
[2014-03-18 16:36:19] INFO  WEBrick 1.3.1
[2014-03-18 16:36:19] INFO  ruby 2.1.0 (2013-12-25) [x86_64-darwin13.0]
[2014-03-18 16:36:19] INFO  WEBrick::HTTPServer#start: pid=15338 port=9292

References