2013-05-06 9 views
17

Sono nuovo di Scala/SBT, quindi per favore sii gentile, ma sto provando a farmi strada attraverso il SBT "Getting Started" e ho notato una discrepanza tra i miei strumenti installati scala e sbt. Quando lancio direttamente REPL per scala, si segnala come Scala 2.10.1, che è quello che mi aspetterei.scala è 2.10.1 ma la console di sbt non lo è?

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 

Quando lancio il REPL attraverso SBT, il REPL asserisce è 2.9.2?!?

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 

Cosa c'è in questo? Mi aspettavo che lo strumento di compilazione usasse l'ambiente scala che è ospitato sulla mia scatola di sviluppo. Dove si trova 2.9.2 e come faccio a usare il 2.10.1?

Sia scala e sbt sono stati installati tramite brew, ma non credo che importi davvero. La versione SBT sembra essere 0.12.3

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

risposta

16

Se si inizia sbt senza parametri:

sbt 
> ++ 2.10.1 
> console 

dovrebbe darvi Scala 2.10.1 per quella sessione. Non so come renderlo predefinito per tutte le sessioni di sbt senza ricostruire lo stesso sbt.

+1

Nessuna gioia. Né [sbt console ++ 2.10.1] né [sbt ++ 2.10.1 console] funzionano dalla riga di comando. Ho pensato che forse potrei andare a sbt e provare il '++ 2.10.1' da lì, senza risultato. Ho scoperto che posso forzare una versione di Scala attraverso il file build.sbt come scalaVersion: = "2.10.1". Rimango sorpreso che sbt usi una versione di Scala diversa da quella che ho distribuito sulla mia macchina. –

+2

Invoca sbt senza argomenti. Al prompt inserisci ++ 2.10.1. Quindi digitare 'console' per accedere alla console. – trenobus

+0

Questo fa il trucco –

19

Sbt scarica la scala non ha bisogno di averne uno installato.

Se si desidera definire qualcosa di uso globale del ~/.sbt/global.sbt

In global.sbt è possibile inserire scalaVersion: = "2.10.1" e se si desidera utilizzare la versione locale installata anche definire scalaHome: = Alcuni (file ("/ home/Iraklis/apps/scala-2.10.1"))

Per maggiori dettagli visita la documentazione SBT (link)

+0

Anche questo funziona. Sto lavorando alla mia documentazione. –

3

Impostazione scalaVersion nel vostro build.sbt o Build.scala sarebbe aiutarti a correggere la versione scala per il tuo progetto attuale. Read here

name := "Sample" 

scalaVersion := "2.11.0" 

version := "1.1-RELEASE" 
Problemi correlati