8/10/2007

Ubuntu 7.04 FeistyでのRails

Ubuntu 7.04 FeistyでパッケージマネージャでインストールしたRailsでのトラブル記録。

  1. gettext_scaffoldを導入し国際化したWebアプリケーションは、scaffoldが吐いたコントローラのメソッドcreateで"stack level too deep "といって、どうやら無限ループに行ってしまうようだ。
  2. つらつら情報を探しているうち こういう 情報を入手。
  3. どうも、libgettext-ruby-1.8パッケージのバージョンが良くないようだ、アップデートしようと思ったがない。こまった。
  4. いっそ、gemを叩いて直接gettext-rubyをインストールしよう。そう思い立ってgettext-ruby-1.10.1をインストールしてみる。1で起こったようなループが起こらず処理が帰ってきている。よかた。
  5. ところが、poファイルを更新する等してrake gettext:make_moなどをおこなうと "gettext/utils"がありませんよといわれる。どうやらrakeが見ているディレクトリがうまく設定されていないようだ。
  6. しかたないので、ubuntuパッケージで提供されてるrails, rubygems(え?これも!!)のパッケージを削除し、直接インストールする。
  7. gemでrails、gettextをインストールすると件のWebアプリケーションは正常に動いた。
パッケージマネージャでruby関係をインストールするとgem周りで不具合(ディレクトリ構成の違い)があるらしい。
ちなみにubuntu提供のrailsで作ったWebアプリは/usr/shareあたりにシンボリックリンクを張るので、ソースをtarでかためてもっていくなど、可搬性がない。railsはパッケージでなく、gemでインストールというのは鉄則のようだ。

0 件のコメント: