2011-12-11 42 views
237

Làm cách nào để kiểm tra phiên bản sbt nào tôi đang chạy?Cách kiểm tra phiên bản sbt?

Tôi có file bash thiết lập sử dụng sbt-launch.jar, và nó hoạt động, nhưng

$ sbt version 

chỉ cho thấy "phiên bản dự án" (0,1) và

$ sbt --version 

không có gì.

Trả lời

319
$ sbt sbtVersion 

Điều này sẽ in phiên bản sbt được sử dụng trong dự án hiện tại của bạn hoặc nếu đó là dự án đa mô-đun cho mỗi mô-đun.

$ sbt 'inspect sbtVersion' 
[info] Set current project to jacek (in build file:/Users/jacek/) 
[info] Setting: java.lang.String = 0.13.1 
[info] Description: 
[info] Provides the version of sbt. This setting should be not be modified. 
[info] Provided by: 
[info] */*:sbtVersion 
[info] Defined at: 
[info] (sbt.Defaults) Defaults.scala:68 
[info] Delegates: 
[info] *:sbtVersion 
[info] {.}/*:sbtVersion 
[info] */*:sbtVersion 
[info] Related: 
[info] */*:sbtVersion 

Bạn cũng có thể muốn sử dụng sbt about đó (sao chép Mark Harrah's comment):

Các về lệnh đã được bổ sung gần đây để cố gắng cô đọng in thông tin phù hợp nhất, bao gồm cả phiên bản SBT.

+92

Có thể một lệnh --version cờ dòng được xem xét? Đó là điều mọi người sẽ cố gắng đầu tiên. –

+1

@MattR Không thể đồng ý nhiều hơn với bạn ... Đó là tò mò tại sao đó không phải là ý nghĩ đầu tiên của tác giả sbt (s). – Ajay

+0

có cách nào để thiết lập các phiên bản sbt khác nhau cho ** tiểu dự án khác nhau ** không? –

9

Trong SBT 0,13 trở lên, bạn có thể sử dụng sbtVersion nhiệm vụ (như được chỉ ra bởi @steffen) hoặc about lệnh (như được chỉ ra bởi @ đánh dấu harrah)

Có sự khác biệt như thế nào nhiệm vụ sbtVersion làm việc trong và ngoài dự án SBT. Khi trong một dự án SBT, sbtVersion hiển thị phiên bản của SBT được sử dụng bởi dự án và các tiểu dự án của nó.

$ sbt sbtVersion 
[info] Loading global plugins from /Users/jacek/.sbt/0.13/plugins 
[info] Updating {file:/Users/jacek/.sbt/0.13/plugins/}global-plugins... 
[info] Resolving org.fusesource.jansi#jansi;1.4 ... 
[info] Done updating. 
[info] Loading project definition from /Users/jacek/oss/scalania/project 
[info] Set current project to scalania (in build file:/Users/jacek/oss/scalania/) 
[info] exercises/*:sbtVersion 
[info] 0.13.1-RC5 
[info] scalania/*:sbtVersion 
[info] 0.13.1-RC5 

Đó là thiết lập trong project/build.properties:

jacek:~/oss/scalania 
$ cat project/build.properties 
sbt.version=0.13.1-RC5 

Nhiệm vụ tương tự được thực hiện bên ngoài một dự án SBT cho thấy phiên bản hiện tại của thực thi chính nó.

jacek:~ 
$ sbt sbtVersion 
[info] Loading global plugins from /Users/jacek/.sbt/0.13/plugins 
[info] Updating {file:/Users/jacek/.sbt/0.13/plugins/}global-plugins... 
[info] Resolving org.fusesource.jansi#jansi;1.4 ... 
[info] Done updating. 
[info] Set current project to jacek (in build file:/Users/jacek/) 
[info] 0.13.0 

Khi bạn đang ở bên ngoài, lệnh about có vẻ là một sự phù hợp tốt hơn vì nó cho thấy phiên bản SBT cũng như plugin của Scala và có sẵn.

jacek:~ 
$ sbt about 
[info] Loading global plugins from /Users/jacek/.sbt/0.13/plugins 
[info] Set current project to jacek (in build file:/Users/jacek/) 
[info] This is sbt 0.13.0 
[info] The current project is {file:/Users/jacek/}jacek 0.1-SNAPSHOT 
[info] The current project is built against Scala 2.10.2 
[info] Available Plugins: com.typesafe.sbt.SbtGit, com.typesafe.sbt.SbtProguard, growl.GrowlingTests, org.sbtidea.SbtIdeaPlugin, com.timushev.sbt.updates.UpdatesPlugin 
[info] sbt, sbt plugins, and build definitions are using Scala 2.10.2 

Bạn có thể muốn chạy 'giúp đỡ về' để đọc tài liệu hướng dẫn của nó:

jacek:~ 
$ sbt 'help about' 
[info] Loading global plugins from /Users/jacek/.sbt/0.13/plugins 
[info] Set current project to jacek (in build file:/Users/jacek/) 
Displays basic information about sbt and the build. 

Đối với các thiết lập sbtVersion, lệnh inspect thể giúp đỡ.

$ sbt 'inspect sbtVersion' 
[info] Loading global plugins from /Users/jacek/.sbt/0.13/plugins 
[info] Set current project to jacek (in build file:/Users/jacek/) 
[info] Setting: java.lang.String = 0.13.0 
[info] Description: 
[info] Provides the version of sbt. This setting should be not be modified. 
[info] Provided by: 
[info] */*:sbtVersion 
[info] Defined at: 
[info] (sbt.Defaults) Defaults.scala:67 
[info] Delegates: 
[info] *:sbtVersion 
[info] {.}/*:sbtVersion 
[info] */*:sbtVersion 
[info] Related: 
[info] */*:sbtVersion 

Các version khung cảnh mà mọi người dường như mong đợi để kiểm tra để biết phiên bản SBT là để thiết lập Phiên bản/sửa đổi các mô-đun hiện.

$ sbt 'inspect version' 
[info] Loading global plugins from /Users/jacek/.sbt/0.13/plugins 
[info] Set current project to jacek (in build file:/Users/jacek/) 
[info] Setting: java.lang.String = 0.1-SNAPSHOT 
[info] Description: 
[info] The version/revision of the current module. 
[info] Provided by: 
[info] */*:version 
[info] Defined at: 
[info] (sbt.Defaults) Defaults.scala:102 
[info] Reverse dependencies: 
[info] *:projectId 
[info] *:isSnapshot 
[info] Delegates: 
[info] *:version 
[info] {.}/*:version 
[info] */*:version 
[info] Related: 
[info] */*:version 

Khi được sử dụng trong dự án SBT, nhiệm vụ/cài đặt có thể hiển thị các kết quả khác nhau.

+1

Có lẽ bạn đang sử dụng một trình khởi chạy sbt tùy chỉnh, chẳng hạn như sbt-extras, ghi đè ý nghĩa của 'sbt-version' một dòng lệnh. Nếu không, tôi không biết sự khác biệt giữa 'sbt-version' tại dòng lệnh và tại dấu nhắc. Nó phải là cùng một thiết lập 'sbtVersion' trong cả hai trường hợp. –

+0

có cách nào để thiết lập các phiên bản sbt khác nhau cho các tiểu dự án khác nhau không? –

+1

http://stackoverflow.com/questions/20825539/specify-the-version-of-sbt-for-a-subproject –

3

Bạn có thể sử dụng sbt about

 
Example: 
    C:\Users\smala>sbt about 
    [info] Set current project to smala (in build file:/C:/Users/smala/) 
    [info] This is sbt 0.13.6 
    [info] The current project is {file:/C:/Users/smala/}smala 0.1-SNAPSHOT 
    [info] The current project is built against Scala 2.10.4 
    [info] Available Plugins: sbt.plugins.IvyPlugin, sbt.plugins.JvmPlugin, sbt.plugins.CorePlugin, sbt.plugins.JUnitXmlReportPlugin 
    [info] sbt, sbt plugins, and build definitions are using Scala 2.10.4"
23

Chạy lệnh "SBT SBT-phiên bản" sẽ chỉ đơn giản là đầu ra thư mục hiện tại của bạn và số phiên bản.

$ sbt sbt-version 
[info] Set current project to spark (in build file:/home/morgan/code/spark/) 
[info] 0.13.8 
+2

'sbt sbtVersion' cũng hoạt động. – Razavi

+1

Bắt đầu với sbt 1.0, bạn thậm chí * có * để sử dụng 'sbt sbtVersion' (camelCase) vì hỗ trợ cho [tên cách nhau bằng dấu gạch ngang đã bị xóa] (http://www.scala-sbt.org/1.x/docs/ sbt-1.0-Release-Notes.html). – sschuberth

16
  1. Nếu bạn đang sử dụng cửa sổ sử dụng windowskey + R gõ cmd sau đó nhấn Enter hoặc điều hướng đến thư mục .sbt (ví dụ: C: \ Users \ Prasad) và gõ cmd trên thanh địa chỉ rồi Enter.
  2. loại SBT về sau đó enter để nhận SBT phiên bản

enter image description here

0

chạy SBT console sau đó gõ sbtVersion để kiểm tra phiên bản SBT, và scalaVersion cho phiên bản scala

Các vấn đề liên quan