You do not need a version manager. You need a build tool.
Projects
Scala works differently than Ruby projects. If you use SBT as a build tool, you specify the Scala version in the build file:
//build.sbt scalaVersion := "2.11.0" // or some other version
Then SBT proceeds to download the specified version of Scala for you if it has not been downloaded previously, and also creates and runs a project with this version. If you want, you can even specify which version of SBT you want, and it will work for you.
This is because Scala, contrary to Ruby, is a compiled language - it must be compiled / created before launch. Ruby projects do not have a build process and can be (undertaken) to run any version of Ruby. Scala projects may not be based on incompatible versions, not to mention the launch, so you need to specify which version of Scala should be built against your project.
There are also no such things as gemsets for Scala. For Ruby, gems were originally system-wide libraries and executables that were shared by all the Ruby scripts on the system. Consequently, gems redefine each other, and you need to support gems with specific versions that you need for each project. In Scala, dependency is just a library specifically designed for your project. They do not override each other, and you simply specify which version you need in the assembly file. SBT automatically downloads it for you upon creation.
It works:
// myproject1/build.sbt scalaVersion := "2.10.2" libraryDependencies += "com.typesafe.akka" %% "akka-actor" % "2.2.0" // myproject2/build.sbt scalaVersion := "2.11.0" libraryDependencies += "com.typesafe.akka" %% "akka-actor" % "2.3.3"
source share