2013-05-06 22 views
17

Tôi mới đến Scala/SBT, vì vậy hãy nhẹ nhàng, nhưng tôi đang cố gắng làm việc theo cách của tôi thông qua SBT "Bắt đầu" và tôi nhận thấy một sự khác biệt giữa các công cụ scala và sbt được cài đặt của tôi. Khi tôi khởi động REPL cho scala trực tiếp, nó tự báo cáo là Scala 2.10.1, đó là những gì tôi mong đợi.scala là 2.10.1 nhưng giao diện điều khiển sbt thì không?

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 

Khi tôi khởi chạy REPL qua SBT, REPL xác nhận là 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 

Có chuyện gì thế? Tôi đã mong đợi công cụ xây dựng để sử dụng môi trường scala được lưu trữ trên hộp dev của tôi. Nó lấy 2.9.2 ở đâu và làm cách nào để sử dụng phiên bản 2.10.1?

Cả scala và sbt đều được cài đặt qua máy pha, nhưng tôi không nghĩ điều đó thực sự quan trọng. Phiên bản SBT dường như là 0.12.3

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

Trả lời

16

Nếu bạn bắt đầu SBT không có tham số:

sbt 
> ++ 2.10.1 
> console 

sẽ cho bạn Scala 2.10.1 cho phiên đó. Tôi không biết làm thế nào để làm cho nó mặc định cho tất cả các phiên sbt mà không cần xây dựng lại sbt chính nó.

+1

Không có niềm vui. Cả [sbt console ++ 2.10.1] lẫn [sbt ++ 2.10.1 console] đều không hoạt động từ dòng lệnh. Tôi nghĩ có lẽ tôi đi vào sbt và thử '++ 2.10.1' từ đó, vô ích. Tôi thấy tôi có thể ép buộc một phiên bản Scala thông qua tệp build.sbt dưới dạng scalaVersion: = "2.10.1". Tôi vẫn ngạc nhiên khi sbt sử dụng phiên bản Scala khác với phiên bản tôi đã triển khai trên máy tính của mình. –

+2

Gọi sbt không có đối số. Tại dấu nhắc, hãy nhập ++ 2.10.1. Sau đó nhập 'console' để vào bảng điều khiển. – trenobus

+0

Đó là thủ thuật –

19

Tải xuống Sbt scala không cần phải cài đặt.

Nếu bạn muốn xác định một cái gì đó sử dụng toàn cầu ~/.sbt/global.sbt

Trong global.sbt bạn có thể chèn scalaVersion: = "2.10.1" và nếu bạn muốn sử dụng phiên bản cài đặt tại địa phương cũng xác định scalaHome: = Một số (file ("/ home/Iraklis/apps/scala-2.10.1"))

Để cụ thể hơn tài liệu lần SBT (link)

+0

Điều này cũng hoạt động. Tôi đang làm việc theo cách của mình thông qua tài liệu. –

3

Thiết scalaVersion trong build.sbt hoặc Build.scala của bạn sẽ giúp bạn sửa phiên bản scala cho dự án hiện tại của bạn. Read here

name := "Sample" 

scalaVersion := "2.11.0" 

version := "1.1-RELEASE" 
Các vấn đề liên quan