S'il vous plaît jeter un oeil sur les commentaires pour être à jour.
J'ai quelques projets écrits avec scala 2.10.2 et construits avec sbt 0.12.4. Comme mon système d'exploitation est Ubuntu, j'ai utilisé le paquet SBT.deb pour l'installation de sbt 0.12.4. Tout va bien. J'ai construit mes projets avec sbt.
Hier, je voulais mettre à jour sbt en version 0.13.0. J'ai téléchargé et installé le nouveau package .deb. La configuration des projets n'a pas été modifiée.
Lorsque j'exécute SBT après la mise à jour, j'obtiens cet échec:
$ 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
Le fichier ~/.sbt/update.log
est disponible ici: http://ubuntuone.com/6RDMgOqMnxdyKgfzrWVUNP Le fichier ~/.sbt/boot/.update.log
est disponible ici: http://ubuntuone.com/4KqYnSL9Mc1yrmRLbCx6bI
Comment puis-je résoudre cette résolution de dépendance?
D'autres personnes avaient des problèmes similaires, comme ceci , mais pas les mêmes. Je ne pense pas que ce soit un problème d'incompatibilité de définition de construction, et vous? Autant que je sache, SBT n’arrive pas au point de lire la définition du projet.
D'où ce fichier doit-il être récupéré? Ne devrait-il pas être inclus dans le package d'installation SBT? De plus, il semble que SBT/Ivy ne regarde que dans le dépôt Ivy local. Il n'y a pas d'artefact SBT avec la version 0.13.0 dans le référentiel central Maven. Dois-je spécifier un autre repo ou quelque chose?
Et qu'en est-il de la version scala? Ne doit-il pas être spécifié dans la définition de dépendance? Dois-je spécifier la version scala quelque part?
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
Avant ce problème, je n'avais pas ce fichier. Je l'ai ajouté en essayant de résoudre ce problème:
sbt.version=0.13.0
J'ai ajouté des dépôts à ~/.sbt/repositories
. Cela a résolu le problème. Maintenant, le fichier ressemble à ceci:
[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/
Vous devriez également regarder ceci: http://www.scala-sbt.org/0.13.0/docs/Detailed-Topics/Proxy-Repositories.html
Mais ce qui me préoccupe toujours, c’est la question de savoir s’il s’agit d’un cas individuel pour moi et mon système ou si d’autres ont également de tels problèmes. Ai-je mal compris quelque chose? Parce que si je veux utiliser un outil de construction, je ne pense pas qu'il devrait être de ma responsabilité de me soucier des dépendances de l'outil après l'installation. Cela devrait être fait par l'installation même de l'outil.
Bien sûr, il est de ma responsabilité de prendre en compte les dépendances de mon projet.
J'ai rencontré le même problème, qui s'est avéré être pebcak (bien sûr), en spécifiant 0,13 au lieu de 0,13.0 dans project/build.properties
Parcourir la sortie dans .sbt/boot/update.log était très utile et m'a amené à la question (surtout après avoir remarqué que sbt fonctionnait bien en ~/- le téléchargement lui-même - j'ai remarqué le fichier ivy.xml qu'il cherchait, mais pas Ne correspond pas à celui téléchargé lors de cette tentative précédente dans ~ /)
J'ai eu un message d'erreur similaire lorsque ma version de Java sur OSX était 1.6. La mise à jour vers la version 1.8 a résolu ce problème.