IT探検の追憶スマートフォン用の表示で見るIT探検の追憶この広告は、90日以上更新していないブログに表示しています。2014-09-06Rail4で困ったらSpringを停止せよRails現在、自社サービス「ゴールナビ」のRailsをv3.2からv4.1にアップグレードする作業を進めています。悩まされたので記録しておきます。Springとは?Rails4から導入されたプリローダーです。Railsアプリケーションをあらかじめロードしておくので、railsコマンドやrakeコマンドなどの起動が速くなります。類似のツールとしてSporkなどがありますが、Springの場合は一度セットアップすれば、すべて自動で行ってくれるので、手間が掛かりません。Rail4での不可解なエラーRails4.1にアップグレードして、いくつか不可解なエラーを経験しました。User::SessionsControllerRSpecを実行すると、このDeviseのコントローラーだけ、このエラーが発生。最初はDeviseの設定やRailsのオートロードの設定に変更があったのかと思い、さんざん調べ回りましたが、結局Springの問題でした。PaypalExpressControllerWebサーバーでページを表示しようとしたところ、特定のページのこのエラーが発生。これもSpringが原因でした。実行し、一旦Springを停止させることで解決しました。Springのローディング処理がおかしくなったのだと思います。「困ったらSpringを停止」というのがRails4時代の教訓になるでしょう。これを実行すると、bin/railsやbin/rakeなどのファイルの先頭に、Springをロードするコードが追加されます。railsなどとしなくても、bin/railsとするだけで、Spring経由で実行されることになります。これを行うと、Springを経由しないで実行させることができなくなります。場合によっては、上記のセットアップコマンドを実行しない、または、特定のコマンドだけSpringのコードを削除する、という対応を取った方が良いでしょう。すれば、不具合がSpringの影響によるものかどうかすぐに調べることができます。(1)月別アーカイブ検索リンクはてなブログブログをはじめる週刊はてなブログはてなブログProはてなブログをはじめよう!shimoxさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。