平々凡々エンジニア

平凡で難しい悩みを解決

NameError: uninitialized constant Micropost::PictureUploader エラー解決

画像アップロードしようとしたらタイトルのエラーに行き着きました。

参考資料:NameError: uninitialized constant Article::ImageUploader when using Carrierwave on rails 4.1.5

からconfig/environment.rbの行末に、require 'carrierwave/orm/activerecord'を付け加えると直ったという人や、springを再起したら直ったという人がいました。

試しにspringを再起動しようと思います。

spring stop spring start としようとしたら
can't find gem spring (>= 0.a) with executable spring (Gem::GemNotFoundException)gem springが無いと言われてしまいました。gem listで確認したのですが確かに入っていませんでした。とりあえず不安のなのでgem springgithubで確認してみます。

参考資料:gem spring

おさらいとしてまず何をするgemなのか確認します。機能としてはrailsのアプリプリローダーです。これを使えばコマンド関連などの処理が早くなるようです。Compatibilityのところをみるとrailsのバージョンが4.2, 5.0, 5.1, 5.2, 6.0 ならばnewしてアプリを作ると勝手にインストールしてくれるようです。 私の場合は、5.2→6.0.1なのでインストールしてくれるはずなのですがおかしいですね。

なんとなくですが私の場合はspringの再起動で治りそうもなかったのでPCを再起することにしました。結果エラーは解消されました。PCを年末からずっと付けっぱなしかつサーバー閉じていなかったのでそれがよくなかったかもしれません。