2011年2月9日水曜日

RailsInstallerで、jewelerが上手く動かない

俺gemをメンテナンスしようと、gem install xxx => rake test しようとしたら、jewelerが上手く動きませんでした(stack level too deep)。

調べてみたら原因は簡単でした。jeweler.rbを少し修正すれば動きました。

def git_base_dir(base_dir = nil)
    if base_dir
      base_dir = File.dirname(base_dir)
    else
      base_dir = File.expand_path(self.base_dir || ".")
    end
    # return nil if base_dir==File.dirname("/") stack level too deep ! on windows
    return nil if base_dir==File.dirname("c:/") # quick fix
    return base_dir if File.exists?(File.join(base_dir, '.git'))
    return git_base_dir(base_dir)
  end

.gitディレクトリの無い状態で、上のフォルダにさかのぼって行く物の、ルート判定が *nixスタイルになっているからでした(windowsのルートはc:/とかです。)!

今日は眠いので本気対応は今度考えます

0 件のコメント:

コメントを投稿