Railsエラーのまとめ:RetrospectivaとRedCloth
この件とその顛末を、無知をさらすことになるかもしれないけど、誰かのためになるかもしれないので、検索のためのキーワードを盛り込んで、ちゃんと書きます。
私の使っているのは共有レンタルサーバ。
- RetrospectivaをSigle-Step-Installerの手順でインストールした。Passengerで使うため、サポートに一言メールなどする必要があったが問題なく使えた。
- 数ヶ月放置
- 久しぶりにアクセスすると、Passengerがエラーを吐いて最初のログイン画面が表示されない。*1
can't activate RedCloth (= 4.2.2, runtime), already activated RedCloth-4.1.9
- 自分はこの数ヶ月何もしていないので、レンタルサーバのサポートに相談メール
- サポートから、「vendor/gemsのRedCloth-4.1.9をRedClothにリネームしてみた、これでどうでしょう」という返事。
- しかし、まったく同じエラーが表示されている。エラーメッセージでググったり、Retrospectivaのサイトを見たりしても類似事例を見つけることができない。config/environment.rbをいじってみたりしたけど、結局解決できない。あきらめる寸前。
- サポートから「解決した?」というメール。「やっぱり同じエラーが出るので。もうあきらめて再インストールしようかと思っています」と相談。
- サポートから返事。「vendor/gemsにRedCloth-4.2.2を展開したら、エラーがでなくなったみたいだよ」
- エラーが出なくなった!ログインして使ってみる、問題なし
- サポートにお礼のメール
しかし、実は今でもなぜこの対処でなおったのか、よくわかっていない。
サーバのRedClothが4.2.2から上がったら、また同じようなエラーが出るんだろうか?そしたらまた同様の対応しなきゃいけないんだろうか?そもそも、そんなことせずに済むようvendor/gemsの下に必要なgemを入れてconfig/environment.rbにバージョンを明記しているのではないかと思ったんだけどその解釈は間違ってる?