2013-05-06 8 views
17

Jestem nowy w Scala/SBT, więc proszę, bądź delikatny, ale próbuję przejść przez SBT "Getting Started" i zauważyłem rozbieżność między zainstalowanymi przeze mnie urządzeniami scala i sbt. Kiedy uruchamiam REPL dla scala bezpośrednio, to zgłasza się jako Scala 2.10.1, co jest tym, czego oczekiwałbym.scala to 2.10.1, ale konsola sbt nie jest?

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 

Po uruchomieniu REPL przez SBT, REPL twierdzi, że jest to 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 

Co z tym? Oczekiwano, że narzędzie do budowania będzie używać środowiska scala, które jest hostowane na moim komputerze dev. Gdzie jest 2.9.2 i jak mogę go użyć do 2.10.1?

Zarówno scala, jak i sbt zostały zainstalowane przez napar, ale nie sądzę, że to naprawdę ma znaczenie. SBT wersja wydaje się być 0.12.3

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

Odpowiedz

16

Jeśli zaczniesz SBT bez parametrów:

sbt 
> ++ 2.10.1 
> console 

powinno dać Scala 2.10.1 dla tej sesji. Nie wiem, jak ustawić go jako domyślny dla wszystkich sesji sbt bez odbudowywania samego sbt.

+1

Bez radości. Ani [sbt console ++ 2.10.1] ani [sbt ++ 2.10.1 console] działają z linii poleceń. Pomyślałem, że może przejdę do sbt i wypróbuję "++ 2.10.1", bez skutku. Zauważyłem, że mogę wymusić wersję Scala poprzez plik build.sbt jako scalaVersion: = "2.10.1". Pozostaję zaskoczony, że sbt używa wersji Scali innej niż ta, którą zainstalowałem na moim komputerze. –

+2

Wywołaj sbt bez argumentów. Po znaku wpisz ++ 2.10.1. Następnie wpisz "konsola", aby wejść do konsoli. – trenobus

+0

To robi sztuczkę –

19

Sbt pliki do pobrania scala nie musi mieć zainstalowany.

Jeśli chcesz zdefiniować coś globalnego wykorzystania katalogu ~/.sbt/global.sbt

W global.sbt można wstawić scalaVersion: = „2.10.1” i jeśli chcesz korzystać z lokalnej wersji zainstalowanego również określić scalaHome: = niektórych (plik ("/ home/Iraklis/apps/scala-2.10.1"))

więcej szczegółów dokumentacji wizyta SBT (link)

+0

To też działa. Pracuję nad dokumentacją. –

3

Setting scalaVersion w swojej build.sbt lub Build.scala będzie pomóc w naprawieniu wersji scala dla bieżącego projektu. Read here

name := "Sample" 

scalaVersion := "2.11.0" 

version := "1.1-RELEASE" 
Powiązane problemy