2016-08-13 4 views
2

build.sbtはすでにそれが実際にバージョン2.10を取得しています、私はbuild.sbtが常駐SBTを実行するたびに、私は常に開始時にこのエラーなぜ、sbtはbuild.sbtとは異なるScalaバージョンをダウンロードしますか?

org.scala-lang#scala-library;2.10.5: configuration not found in 
org.scala-lang#scala-library;2.10.5: 'master(compile)'. Missing 
configuration: 'compile'. It was required from org.scalaz#scalaz- 
effect_2.10;7.1.0 compile 

を取得し、しかし

scalaVersion := "2.11.7" 

を設定しました.5

Getting Scala 2.10.5 (for sbt)... 

今は進めません。私は私のMacBookで動いている。

+0

完全なbuild.sbt定義を投稿できますか?そしてあなたのマシンにsbtをどうやってインストールしましたか? –

+2

SBT自体はビルドをコンパイルするためにScalaを必要としますが、必ずしもプロジェクトソースのコンパイルに使用したものと同じではありません。 SBTバージョンを確認してください。 – cchantep

+0

sbtバージョン0.13.12、私はちょうど "brew sbt install"経由でMacBookに初めてインストールしました。その前に、私は自分のMacBookにはbrewコマンドがないので自作をインストールしました。それからintellijのcourseraチュートリアルからプロジェクトをインポートしようとしていますが、build.sbtがすでにscalaVersionを2.11.7に設定していてもこのエラーが発生します。 – iPhoneJavaDev

答えて

5

sbtとあなたのアプリケーション(sbtによって管理される)は、Scalaの異なる要件を持っています。どちらのScalaアプリケーションでも、Scalaランタイムが必要です。

sbtは固定バージョンのScalaを使用しています。あなたのプロジェクトにインストールできるすべてのプラグインは、その特定のScalaバージョンと互換性があります。あなたはsbtのScalaバージョンを変更することはできません。それはコードに埋め込まれているものであり、ユーザーが変更するものではありません。

あなたのScala/sbtプロジェクトは、Scalaにとって必要なものを使用できます。これは別の問題です。 build.sbtscalaVersionを使用してScalaのバージョンを設定できます。

しかし、当初、sbtは常にScalaを含む独自の内部依存関係をダウンロードします。それは~/.sbt/bootに保存されます。

➜ $ ls -l ~/.sbt/boot 
total 424 
-rw-r--r-- 1 jacek staff  0 13 sie 20:22 sbt.boot.lock 
drwxr-xr-x 4 jacek staff  136 6 wrz 2015 scala-2.10.4 
drwxr-xr-x 4 jacek staff  136 2 wrz 2015 scala-2.10.5 
drwxr-xr-x 4 jacek staff  136 31 sty 2016 scala-2.10.6 
drwxr-xr-x 4 jacek staff  136 3 lis 2015 scala-2.11.5 
-rw-r--r-- 1 jacek staff 217029 20 lip 10:37 update.log 

は、使用するSBTのバージョンに応じて、さまざまなScalaのバージョンがダウンロードされて表示される場合がありますが、彼らは、SBTへ内部です。あなたはそれに心配するべきではありません。ちょうどそれを受け入れる:

p.s.内部的にsbtで使用されるScalaのバージョンは、Scala/sbtプロジェクトで既にダウンロードされているバージョンとはまったく異なりません。

+0

はscala-lang.orgからダウンロードされたscalaとは異なるsbt scalaですか? – dauruy

+0

いいえ、答えの更新を参照してください。 –

関連する問題