sbtとあなたのアプリケーション(sbtによって管理される)は、Scalaの異なる要件を持っています。どちらのScalaアプリケーションでも、Scalaランタイムが必要です。
sbtは固定バージョンのScalaを使用しています。あなたのプロジェクトにインストールできるすべてのプラグインは、その特定のScalaバージョンと互換性があります。あなたはsbtのScalaバージョンを変更することはできません。それはコードに埋め込まれているものであり、ユーザーが変更するものではありません。
あなたのScala/sbtプロジェクトは、Scalaにとって必要なものを使用できます。これは別の問題です。 build.sbt
とscalaVersion
を使用して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プロジェクトで既にダウンロードされているバージョンとはまったく異なりません。
完全なbuild.sbt定義を投稿できますか?そしてあなたのマシンにsbtをどうやってインストールしましたか? –
SBT自体はビルドをコンパイルするためにScalaを必要としますが、必ずしもプロジェクトソースのコンパイルに使用したものと同じではありません。 SBTバージョンを確認してください。 – cchantep
sbtバージョン0.13.12、私はちょうど "brew sbt install"経由でMacBookに初めてインストールしました。その前に、私は自分のMacBookにはbrewコマンドがないので自作をインストールしました。それからintellijのcourseraチュートリアルからプロジェクトをインポートしようとしていますが、build.sbtがすでにscalaVersionを2.11.7に設定していてもこのエラーが発生します。 – iPhoneJavaDev