2014-02-10
このサーバーはdebianで10年以上運用しておりますが、ちょこちょこ作ったWebアプリがapt-get upgradeで動かなくなるということを繰り返しています。apt-get upgradeって打ちたくなっちゃうんですよね…。
個人で適当に運用しているサーバーなので、特にテスト等もせずいきなり実行します。一応万が一の時のためのバックアップはありますけどね。今回も色々と動かなくなってしまって個別に対応して直したのですが、一番困ったのはrubyで書いたWebアプリが動かなくなったことでした。出ていたエラーは以下。
undefined method `mappings' for Tilt:Module
sinatraの内部でテンプレートを呼び出した時にこのエラーが出てました。ぐぐっても情報が無く、結構困りました。でも、結局アップグレードで挙動が変わっているわけでバージョンに依存していることはわかっているのですが。
結局きちんと色々なモノのバージョンを揃えてあげないといけないわけで、観念してきちんと全部bundleを適用するだけで解決しました。sinatraとtiltのバージョンの組み合わせが変なことになっていたのだと思います(予想)。やってしまえば簡単で安定的に運用できるのですが、動いているものをいじるのって意思の力が必要で、どうしても後回しになっちゃうんですよね…。今回はトラブルでそもそも動かなくなったので重い腰を上げました。
以下のブログが大変参考になりました。ありがたや。