xsbtのsbtプロジェクトがコンパイルエラーで起動できない
Ubuntu 12.04にクローンしていたxsbtのビルドツリーで、以下のようなエラーが出てsbtプロジェクトが開けなくなってしまった。
$ sbt [info] Loading project definition from /home/takamatu/apps/xsbt/project [info] Compiling 7 Scala sources to /home/takamatu/apps/xsbt/project/target/scala-2.9.2/sbt-0.12/classes... [error] /home/takamatu/apps/xsbt/project/Proguard.scala:1: not found: object sbt [error] import sbt._ [error] ^ [error] /home/takamatu/apps/xsbt/project/Proguard.scala:99: value partition is not a member of Any [error] val (ivyJars, notIvy) = notJLine partition isJarX("ivy") [error] ^ ≪省略≫ [error] /home/takamatu/apps/xsbt/project/Util.scala:150: value % is not a member of java.lang.String [error] lazy val sbinary = lib("org.scala-tools.sbinary" % "sbinary_2.9.0" % "0.4.0" ) [error] ^ [error] 19 errors found [error] (compile:compile) Compilation failed Project loading failed: (r)etry, (q)uit, (l)ast, or (i)gnore? q
別のUbuntu 12.04環境とWindowsにクローンしているビルドツリーでは問題ないのと、エラーメッセージから、自動ダウンロードしているsbtのプログラムがおかしくなっているだろうと推測し、削除してみたが結果変わらず。
$ rm -rf ~/.sbt
ivy2キャッシュにゴミが残っているのかと思い以下の通り削除してみたが、これでも結果変わらず。
$ rm -rf ~/.sbt $ rm -rf ~/.ivy2/cache/org.scala-sbt
ivy2のローカルリポジトリ内からも削除してみたが、結果変わらず。
$ rm -rf ~/.sbt $ rm -rf ~/.ivy2/cache/org.scala-sbt $ rm -rf ~/.ivy2/local/org.scala-sbt
試しにivy2リポジトリ全部消してみたらsbt起動できるようになった。
$ rm -rf ~/.sbt $ rm -rf ~/.ivy2
削除すべきパッケージが間違っていただけなのか?エラーはsbtオブジェクトが見つからないと言っているようなので、ivy2リポジトリにあったものの中ではorg.scala-sbtくらいしか該当するものが見当たらない。org.scala-sbt*.xmlファイルも消せばよかったのか?
原因が分かっていないのが気持ち悪い。仕組みを詳しく理解していれば簡単にわかるだろう。いずれそのうち・・・。