いつのタイミングか分からないのですが、アプリの開発途中でスペックを記述をしていて「$ bin/rspec」コマンドを実行した時に処理が走らず固まったままになってしまいました。

何かおかしなことをしたのかな?とも思ったのですが、心当たりあるものが何も思い出せませんでした。

調査をしようにも、何が原因なのかが分からなかったので、一旦どこの処理で止まってしまっているのかを突き止めることにしました。

原因のファイルを見てみる

アプリケーション直下のbin/rspecファイルを見てみると、以下の3行目から処理が進まなくなっているようです。

load File.expand_path('../spring', __FILE__)

更に、bin/springファイルを辿っていくと、以下の15行目で処理が進まなくなっているようです。

require 'spring/binstub'

??

そもそもSpringが何なのかが分かりませんねw

ネットで調査してみると、bin/*コマンドはSpringというシステムが働くようになっているようです。

Springとは

Springとはプリローダーのことで、アプリケーションをバックグラウンドで走らせておくことによりbin/*コマンドによる起動速度を早めることができるとの事。

解決策

更にネットで調査を進めていくと、Springを再起動させると動作するようになるらしいです。

$ spring stop

上記のコマンドを実行し、再度「$ bin/rspec」コマンドを実行したら以前のように動作するようになりました。

bin/*コマンドを実行するとSpringが自動的に起動するみたいですね。

更新日 : 2020年7月9日

投稿者: TWEI

趣味はプログラミング。 以前は仕事でプログラミングをやっていました。現在はWebエンジニアを目指して勉強中。 勉強で得た知識などをブログで発信していく予定です。

コメントをどうぞ

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA