SBT 버전을 확인하는 방법?


335

실행중인 sbt 버전을 어떻게 확인합니까?

을 사용하는 bash 파일을 설정했는데 sbt-launch.jar작동하지만

$ sbt version

"프로젝트 버전"(0.1) 만 표시하고

$ sbt --version

아무것도하지 않습니다.

답변:


456
$ sbt sbtVersion

현재 프로젝트에서 사용 된 sbt 버전 또는 각 모듈의 다중 모듈 프로젝트 인 경우 sbt 버전을 인쇄합니다.

$ 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

당신은 또한 그것을 사용할 수도 있습니다 sbt about( Mark Harrah 's comment 복사 ) :

about 명령은 최근에 추가되어 sbt 버전을 포함하여 가장 관련성 높은 정보를 간결하게 인쇄하려고 시도했습니다.


150
--version 명령 줄 플래그를 고려할 수 있습니까? 사람들이 먼저 시도하는 것입니다.
Matt R

9
문제는 " 실행중인 sbt 버전을 어떻게 확인 합니까?" 였습니다. 대답은 현재 프로젝트의 버전을 정리하는 것입니다 . 왜 대답을 받아들입니까?
Cherry

47
신뢰 SBT는 항상 :) 일을하는 가장 표준이 아닌 방법 선택
samthebest

15
전 세계에서 '--version'을 사용하고 sbt는 'sbtVersion'을 사용합니다. 필요할 때마다 자주 확인해야합니다 (빈번하지는 않음).
Osskar Werrewka

5
좋은 오래된 sbt 전통에 따라 문서를 이해하지 못합니다.
matanster



14

SBT 0.13 이상에서는 sbtVersion작업 (@steffen으로 지적) 또는 about명령 (@ mark-harrah로 지적)을 사용할 수 있습니다.

sbtVersion작업이 SBT 프로젝트 안팎에서 작동 하는 방식에는 차이가 있습니다 . SBT 프로젝트 sbtVersion에있는 경우 프로젝트 및 해당 하위 프로젝트에서 사용하는 SBT 버전을 표시합니다.

$ 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

설정 project/build.properties:

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

SBT 프로젝트 외부에서 실행 된 동일한 작업은 현재 버전의 실행 파일 자체를 보여줍니다.

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

당신이 밖에있을 때, about명령은 sbt 버전뿐만 아니라 스칼라 및 사용 가능한 플러그인을 보여주기 때문에 더 적합한 것으로 보입니다.

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

'도움말'을 실행하여 설명서를 읽을 수 있습니다.

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.

를 들어 sbtVersion설정의 inspect명령은 도움이 될 수 있습니다.

$ 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

version사람들이 SBT 버전을 알고 검사 기대하는 것처럼 보인다 설정은 설정하는 것입니다 현재 모듈의 버전 / 개정 .

$ 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

SBT 프로젝트에서 사용될 때 작업 / 설정은 다른 출력을 보여줄 수 있습니다.


1
아마도 sbt-extras와 같은 사용자 정의 sbt 실행기를 사용 sbt-version하여 명령 줄 의 의미를 무시합니다 . 그렇지 않으면 sbt-version명령 줄과 프롬프트 의 차이점을 알 수 없습니다 . sbtVersion두 경우 모두 동일한 설정 이어야합니다 .
Mark Harrah

하위 프로젝트마다 다른 sbt 버전을 설정하는 방법이 있습니까?
아 렉스


sbt sbtVersion프로젝트 외부에서 실행하는 데 9 초가 걸리는 이유는 무엇 입니까? 파이썬, 노드 및 루비는 모두 awk, sed, minibloom 및 기타 여러 명령 줄 도구와 마찬가지로 1 초도 걸리지 않습니다. gcc는 1 초가 걸리며 매우 느립니다. 그러나 9 초는 버찌를 걸립니다. 그 당시 sbt는 무엇을하고 있습니까?
Max Murphy

@MaxMurphy JVM 초기화는 내가 생각하는 가장 느린 것 중 하나입니다.
Jacek Laskowski

9

당신이 사용할 수있는 sbt about

예: 
    C : \ Users \ smala> sbt에 대해
    [info] 현재 프로젝트를 smala로 설정 (빌드 파일 : / C : / Users / smala /)
    [정보] sbt 0.13.6입니다
    [info] 현재 프로젝트는 {file : / C : / Users / smala /} smala 0.1-SNAPSHOT입니다.
    [info] 현재 프로젝트는 Scala 2.10.4에 대해 빌드되었습니다.
    [info] 사용 가능한 플러그인 : sbt.plugins.IvyPlugin, sbt.plugins.JvmPlugin, sbt.plugins.CorePlugin, sbt.plugins.JUnitXmlReportPlugin
    [info] sbt, sbt 플러그인 및 빌드 정의는 Scala 2.10.4를 사용하고 있습니다. "

1
이 질문에 대한 답을 찾고있는 다른 사람들에게는 이것이 바로 그 답입니다. 위의 잘못된 답변이 왜 받아 들여 졌는지 이해할 수 없었습니다 ... 토론을 통해 파헤 치면이 답변을 찾을 수 있지만 ...
TheGeeko61


0

sbt 콘솔을 실행 한 다음 sbtVersionsbt 버전을 확인하고 scalaVersionscala 버전을 입력하십시오.


0

다음 sbt sbt-version과 같이 오류가 발생했습니다.

[error] Not a valid command: sbt-version (similar: writeSbtVersion, session)
[error] Not a valid project ID: sbt-version
[error] Expected ':'
[error] Not a valid key: sbt-version (similar: sbtVersion, version, sbtBinaryVersion)
[error] sbt-version
[error]            ^

힌트를 볼 수 있듯이 similar: sbtVersion, version, sbtBinaryVersion모두 작동하지만 올바른 것은sbt sbtVersion


최신 버전은 다음 작동합니다. sbt about 또는 sbt sbtVersion
viru

이미 새로운 정보를 포함하고 다른 답변을 반복하지 않기를 원하는 다른 답변이 있습니다. @viru
Ramesh

0

아래 명령을 사용하여 SBT 버전을 확인할 수 있습니다

sbt sbtVersion
sbt about
sbt 'inspect version'
sbt version
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.