2011-09-25 4 views
6

Scala bindings for Redis dışarı çalışırken, ben README dosyasında yönergeleri (bunun içine yazın sbt cd repo klonlamak) takip etti ve bu var: Bu SBT 0.7.4 kullanıyordumscala-redis, sbt 0.10.1 gerektirir (diğer sürümler çalışmıyor) - bu normal mi?

$ sbt 
Getting org.scala-tools.sbt sbt_2.9.1 0.10.1 ... 

:: problems summary :: 
:::: WARNINGS 
    module not found: org.scala-tools.sbt#sbt_2.9.1;0.10.1 

==== local: tried 

    /Users/noah/.ivy2/local/org.scala-tools.sbt/sbt_2.9.1/0.10.1/ivys/ivy.xml 

    -- artifact org.scala-tools.sbt#sbt_2.9.1;0.10.1!sbt_2.9.1.jar: 

    /Users/noah/.ivy2/local/org.scala-tools.sbt/sbt_2.9.1/0.10.1/jars/sbt_2.9.1.jar 

==== Maven2 Local: tried 

    file:///Users/noah/.m2/repository/org/scala-tools/sbt/sbt_2.9.1/0.10.1/sbt_2.9.1-0.10.1.pom 

    -- artifact org.scala-tools.sbt#sbt_2.9.1;0.10.1!sbt_2.9.1.jar: 

    file:///Users/noah/.m2/repository/org/scala-tools/sbt/sbt_2.9.1/0.10.1/sbt_2.9.1-0.10.1.jar 

==== typesafe-ivy-releases: tried 

    http://repo.typesafe.com/typesafe/ivy-releases/org.scala-tools.sbt/sbt_2.9.1/0.10.1/ivys/ivy.xml 

    -- artifact org.scala-tools.sbt#sbt_2.9.1;0.10.1!sbt_2.9.1.jar: 

    http://repo.typesafe.com/typesafe/ivy-releases/org.scala-tools.sbt/sbt_2.9.1/0.10.1/jars/sbt_2.9.1.jar 

==== Maven Central: tried 

    http://repo1.maven.org/maven2/org/scala-tools/sbt/sbt_2.9.1/0.10.1/sbt_2.9.1-0.10.1.pom 

    -- artifact org.scala-tools.sbt#sbt_2.9.1;0.10.1!sbt_2.9.1.jar: 

    http://repo1.maven.org/maven2/org/scala-tools/sbt/sbt_2.9.1/0.10.1/sbt_2.9.1-0.10.1.jar 

==== Scala-Tools Maven2 Repository: tried 

    http://scala-tools.org/repo-releases/org/scala-tools/sbt/sbt_2.9.1/0.10.1/sbt_2.9.1-0.10.1.pom 

    -- artifact org.scala-tools.sbt#sbt_2.9.1;0.10.1!sbt_2.9.1.jar: 

    http://scala-tools.org/repo-releases/org/scala-tools/sbt/sbt_2.9.1/0.10.1/sbt_2.9.1-0.10.1.jar 

==== Scala-Tools Maven2 Snapshots Repository: tried 

    http://scala-tools.org/repo-snapshots/org/scala-tools/sbt/sbt_2.9.1/0.10.1/sbt_2.9.1-0.10.1.pom 

    -- artifact org.scala-tools.sbt#sbt_2.9.1;0.10.1!sbt_2.9.1.jar: 

    http://scala-tools.org/repo-snapshots/org/scala-tools/sbt/sbt_2.9.1/0.10.1/sbt_2.9.1-0.10.1.jar 

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

    ::   UNRESOLVED DEPENDENCIES   :: 


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

    :: org.scala-tools.sbt#sbt_2.9.1;0.10.1: not found 

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



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

. En son sbt sürümünü (0.11.0) indirmeyi denedim ve aynı problemi aldım. Daha sonra, 0,'u sbt'nin 0.10.1 sürümünden elle indirdim ve işe yaradı.

Soruma soru: otomatik olarak kendi gerekli sürümü indirmesi gerekiyor mu, yoksa farklı sürümleri gerektiren paketler için sbt'nin farklı sürümlerini & çalıştırmak zorunda mıyım?

cevap

5

Hata iletisi, Redis ile ilgisiz gibi görünüyor.

Evet, SBT'nin kendi uygun sürümünü indirmesi gerekiyor. Tarayıcınızı şu adrese yönlendirerek SBT'nin hangi sürümlerini kullanabileceğinizi öğrenebilirsiniz: http://repo.typesafe.com/typesafe/ivy-releases/org.scala-tools.sbt/ Scala 2.8.1'in SBT sürümleri < = 0.10.1'e bağlı olduğunu görürsünüz, Scala 2.9.1 ise (şu anda) SBT 0.11 ile uyumludur. Sadece 0.

Bu hata iletisini alıyorsunuz çünkü bir şekilde Scala 2.9.1 için SBT 0.10.1'i almaya çalışıyoruz, bu geçersiz bir birleşim. Bunu nasıl yaptığınızdan emin değilsiniz .. belki ~/.sbt/ dizinindeki bazı dahili SBT yapılandırma dosyalarını düzenlediniz? Bir "virgin" SBT almak istiyorsanız, ~/.sbt/ dosyasını silebilir ve en son sbt-launch.jar sürümünü indirebilirsiniz. SBT'nin daha önceki bir sürümünü kullanmak isterseniz,dosyasını described on the Wiki olarak düzenleyebilirsiniz.

+0

Teşekkürler! Ayrıca hata mesajını da anlamak istedim ve cevabınızı okuduktan sonra hata mesajı mükemmel geliyor. – Noah