1. ホーム
  2. ruby

[解決済み] Sinatraがファイルを変更するたびに自動で再読み込みするようにするには?

2022-09-06 16:39:48

質問

私は

# my_app.rb
load 'index.rb'

というように切断を開始します。

ruby my_app.rb

のように表示されますが、indexページで行った変更を再読み込みすることはありません。

私はここで何かを逃したのでしょうか?

どのように解決するのですか?

以下の Sinatra FAQ ,

"Sinatraアプリを変更時に再読み込みするにはどうすればよいですか?

まず最初に、Rubyでのプロセス中のコードリロードは難しく、すべてのシナリオで機能する解決策を持つことは技術的に不可能です。 すべてのシナリオで機能する解決策を持つことは技術的に不可能です。

そのため、プロセス外でのリロードを行うことをお勧めします。

まず最初にインストールする必要があるのは 再実行 をインストールする必要があります。

 $ gem install rerun

さて、このようにSinatraアプリを起動すると。

$ ruby app.rb

リロードのためにしなければならないことは、代わりにこれを行うことです。

$ rerun 'ruby app.rb'

例えばrackupを使っている場合は、代わりに以下のようにします。 を使います。

$ 'rackup'を再実行します。

お分かりいただけたでしょうか。

それでもインプロセス・リロードが必要な場合は、以下をご覧ください。 Sinatra::Reloader .