Techioz Blog

Rake コマンドを試行すると、Rails 6 アプリで Spring が機能しません

概要

Springのドキュメントに基づくと、bin/rails Routes && spring statusのようなコマンドを実行しようとすると、次回の実行時にスプリングのステータスが変更されるはずですが、そのコマンドを何度試してもスプリングのステータスは変わりません。ファイルを編集しようとすると、ステータスが変わります。また、私の Rails の実行時間も非常に遅いです (私のアプリではスプリングが機能しないので当然です!)。

これは、bin/rails Route 1>/dev/null && spring status 実行の出力サンプルです。

$ bin/rails routes 1>/dev/null && spring status
Spring is running:

 6297 spring server | proj | started 1 hour ago
15304 spring app    | proj | started 23 mins ago | development mode
17620 spring app    | proj | started 8 mins ago | development mode

これは、touch config/application.rb && spring status 実行の出力サンプルです (最後の行の開始時間に注目してください)。

$ touch config/application.rb && spring status
Spring is running:

 6297 spring server | proj | started 1 hour ago
15304 spring app    | proj | started 24 mins ago | development mode
18841 spring app    | proj | started 1 sec ago | development mode

解決策

これが私にとってうまくいった理由です:

$ bundle install
$ bundle exec spring binstub --all

出典: https://github.com/rails/spring#walkthrough