web-dev-qa-db-ja.com

更新後の未解決の依存関係SBT 0.13.0

SBTを0.13.0に更新します。

Scala 2.10.2で作成され、sbt 0.12.4でビルドするプロジェクトがいくつかあります。私のOSはUbuntuなので、sbt 0.12.4のインストールにはSBT.debパッケージを使用しました。すべて私はsbtでプロジェクトをビルドしました。

昨日、sbtをバージョン0.13.0にアップデートしたかった。新しい.debパッケージをダウンロードしてインストールしました。プロジェクトの構成は変更されていません。

失敗:

更新後にSBTを実行すると、次のエラーが発生します。


$ sbt
Loading /usr/share/sbt/bin/sbt-launch-lib.bash
Getting org.scala-sbt sbt 0.13.0 ...

:: problems summary ::
:::: WARNINGS
        module not found: org.scala-sbt#sbt;0.13.0

    ==== local: tried

      /home/myUser/.ivy2/local/org.scala-sbt/sbt/0.13.0/ivys/ivy.xml

        ::::::::::::::::::::::::::::::::::::::::::::::

        ::          UNRESOLVED DEPENDENCIES         ::

        ::::::::::::::::::::::::::::::::::::::::::::::

        :: org.scala-sbt#sbt;0.13.0: not found

        ::::::::::::::::::::::::::::::::::::::::::::::



:: USE VERBOSE OR DEBUG MESSAGE LEVEL FOR MORE DETAILS
unresolved dependency: org.scala-sbt#sbt;0.13.0: not found
Error during sbt execution: Error retrieving required libraries
  (see /home/myUser/.sbt/boot/update.log for complete log)
Error: Could not retrieve sbt 0.13.0

~/.sbt/update.logファイルはこちらから入手できます。 http://ubuntuone.com/6RDMgOqMnxdyKgfzrWVUNP~/.sbt/boot/.update.logファイルはここにあります: http://ubuntuone.com/4KqYnSL9Mc1yrmRLbCx6bI

この依存関係の解決方法を教えてください

容疑者:

  1. 他の人々は this のような同様の問題を抱えていましたが、同じではありませんでした。これはビルド定義の非互換性の問題ではないと思いますか?私の知る限り、SBTはプロジェクトの定義を読むことができません。

  2. このファイルはどこから取得する必要がありますか? SBTインストールパッケージに含めるべきではありませんか?また、SBT/IvyはローカルのIvyリポジトリ内のみを調べているようです。 Mavenセントラルリポジトリには、バージョン0.13.0のSBTアーティファクトはありません。別のリポジトリまたは何かを指定する必要がありますか?

  3. Scala version?依存関係の定義で指定する必要はありませんか?Scala versionをどこかに指定する必要がありますか?

プロジェクト構成:

ファイル:build.sbt


name := "MyProject"

version := "1.0-SNAPSHOT"

organization := "myOrg"

scalaVersion := "2.10.2"

libraryDependencies += "com.github.nscala-time" %% "nscala-time" % "0.4.2"

ファイル:project/plugins.sbt

addSbtPlugin("com.typesafe.sbteclipse" % "sbteclipse-plugin" % "2.3.0")

ファイル:project/build.properties

この問題が発生する前は、このファイルはありませんでした。私はそれをこの問題を解決しようとして追加しました:

sbt.version=0.13.0
16
user573215

~/.sbt/repositoriesにいくつかのリポジトリを追加しました。これで問題は解決しました。ファイルは次のようになります。

[repositories]
  local
  sbt-releases-repo: http://repo.typesafe.com/typesafe/ivy-releases/, [organization]/[module]/(scala_[scalaVersion]/)(sbt_[sbtVersion]/)[revision]/[type]s/[artifact](-[classifier]).[ext]
  sbt-plugins-repo: http://repo.scala-sbt.org/scalasbt/sbt-plugin-releases/, [organization]/[module]/(scala_[scalaVersion]/)(sbt_[sbtVersion]/)[revision]/[type]s/[artifact](-[classifier]).[ext]
  maven-central: http://repo1.maven.org/maven2/

これも見てください: http://www.scala-sbt.org/0.13.0/docs/Detailed-Topics/Proxy-Repositories.html

しかし、それでも私と心配なのは、これが私と私のシステムの個別のケースなのか、他の人にもそのような問題があるのか​​という問題です。私は何かを誤解しましたか?ビルドツールを使用したい場合、インストール後にツールの依存関係を気にするのは私の責任ではないと思います。これは、ツールのインストール自体によって行われる必要があります。

もちろん、私のプロジェクトの依存関係を気にするのは私の責任です。

49
user573215

同じ問題が発生し、pebcak(もちろん)であることが判明しました。project/ build.propertiesで0.13.0ではなく0.13を指定しています

.sbt/boot/update.logの出力をステップスルーすることはかなり役に立ち、問題を引き起こしました(特にsbtが〜/で正常に実行されたことに気付いた後-ダウンロード自体-それが探していたivy.xmlに気付かなかったt以前の試みでダウンロードしたものと一致する〜/)

3
Peter vR

OSXでのJavaのバージョンが1.6の場合、同様のエラーメッセージが表示されました。1.8に更新すると、この問題が修正されました。

0
Mike