2013-05-06 4 views
17

Je suis nouveau à Scala/SBT, alors s'il vous plaît soyez gentil, mais j'essaie de me frayer un chemin à travers le SBT "Getting Started" et j'ai remarqué une différence entre mes outils scala et sbt installés. Quand je lance directement le REPL pour Scala, il se présente comme Scala 2.10.1, ce qui est ce que je m'attendais. Lorsque je lance le REPL via SBT, le REPL affirme qu'il est 2.9.2?!? scala est 2.10.1 mais la console sbt n'est pas?

bobk-mbp:work bobk$ scala 
Welcome to Scala version 2.10.1 (Java HotSpot(TM) 64-Bit Server VM, Java 1.7.0_17). 
Type in expressions to have them evaluated. 
Type :help for more information. 

scala> :quit 

bobk-mbp:work bobk$ sbt console 
[info] Set current project to default-690573 (in build file:/Users/bobk/work/) 
[info] Starting scala interpreter... 
[info] 
Welcome to Scala version 2.9.2 (Java HotSpot(TM) 64-Bit Server VM, Java 1.7.0_17). 
Type in expressions to have them evaluated. 
Type :help for more information. 

scala> :quit 

Qu'est-ce qui se passe avec ça? Je m'attendais à ce que l'outil de construction utilise l'environnement scala hébergé sur ma boîte de dev. Où trouve-t-on 2.9.2 et comment l'obtenir pour utiliser le 2.10.1?

Les deux scala et sbt ont été installés par brassage, mais je ne pense pas que cela compte vraiment. La version SBT semble être 0.12.3

bobk-mbp:work bobk$ sbt --version 
sbt launcher version 0.12.3 

Répondre

16

Si vous commencez SBT sans paramètre:

sbt 
> ++ 2.10.1 
> console 

devrait vous donner Scala 2.10.1 pour cette session. Je ne sais pas comment le rendre par défaut pour toutes les sessions sbt sans reconstruire sbt lui-même.

+1

Aucune joie. Ni [console sbt ++ 2.10.1] ni [console sbt ++ 2.10.1] ne fonctionnent à partir de la ligne de commande. J'ai pensé que je devrais peut-être aller en sbt et essayer le '++ 2.10.1' à partir de là, en vain. J'ai trouvé que je peux forcer une version de Scala à travers le fichier build.sbt comme scalaVersion: = "2.10.1". Je reste surpris que sbt utilise une version de Scala autre que celle que j'ai déployée sur ma machine. –

+2

Appelez sbt sans arguments. À l'invite, entrez ++ 2.10.1. Puis tapez 'console' pour entrer dans la console. – trenobus

+0

Ça fait l'affaire –

19

Sbt téléchargements le scala n'a pas besoin d'avoir installé un.

Si vous voulez définir quelque chose utilisation globale du ~/.sbt/global.sbt

En global.sbt vous pouvez insérer scalaVersion: = « 2.10.1 » et si vous souhaitez utiliser votre version locale installée également définir scalaHome: = Certains (fichier ("/ home/Iraklis/apps/scala-2.10.1"))

Pour plus de détails visitez la documentation SBT (link)

+0

Cela fonctionne aussi. Je travaille mon chemin à travers la documentation. –

3

Réglage scalaVersion dans votre build.sbt ou Build.scala serait vous aider à corriger la version de scala pour votre projet actuel. Read here

name := "Sample" 

scalaVersion := "2.11.0" 

version := "1.1-RELEASE" 
Questions connexes