ROOT
ROOT

Reputation: 1775

SBT, Scala version mismatch

i have installed Scala 2.11.8 version, and i installed SBT 0.13.12 version as well.

when i create one directory and inside that directory typed sbt and sbt prompt opened. Inside SBT prompt, when i checked libraryDependencies i found like this:

sbt:sparkp> libraryDependencies
[info] * org.scala-lang:scala-library:2.12.4

But in machine, i have installed scala 2.11.8 version, when i checked scala -version it shows

hadoop@localhost:~$ scala -version
Scala code runner version 2.11.8 -- Copyright 2002-2016, LAMP/EPFL

Did i made any mistake while installing sbt? or i need to change any configuration properties after installation?

please help out.

Note: There are some questions regarding this error in stackoverflow, but i didn't get exact answer that's why i am asking new question.

Upvotes: 4

Views: 2035

Answers (2)

Alexey Romanov
Alexey Romanov

Reputation: 170899

The Scala version of a project in SBT is completely unrelated to one you have installed and available from command line. This is a very good thing for several reasons:

  1. Everyone who builds a project doesn't get different result depending on Scala version they have installed.

  2. You don't need to install multiple Scala versions and switch between them all the time to work on multiple projects.

  3. Many projects should be built with multiple Scala versions, see http://www.scala-sbt.org/0.13/docs/Cross-Build.html.

If you are creating a new project, you should specify scalaVersion := "2.11.8" (or any other you want) in build.sbt in this project.

Upvotes: 3

Ramesh Maharjan
Ramesh Maharjan

Reputation: 41987

In my opinion the scala version you are getting is the version with which sbt is built with.

The solution to your is to find global.sbt file which is usually in ~/.sbt/<version>/global.sbt

and add following line

scalaVersion := "2.11.8"

Your problem should be solved.

Upvotes: 3

Related Questions