sbtのバージョンを確認するには?


335

実行しているsbtのバージョンを確認するにはどうすればよいですか?

を使用するようにbashファイルを設定しましたがsbt-launch.jar、機能しますが、

$ sbt version

「プロジェクトバージョン」(0.1)のみを表示し、

$ sbt --version

何もしません。

回答:


456
$ sbt sbtVersion

これは、現在のプロジェクトで使用されている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 aboutMark Harrahのコメントをコピー)。

aboutコマンドは最近、sbtバージョンを含む最も関連性の高い情報を簡潔に出力しようとするために追加されました。


150
--versionコマンドラインフラグを検討できますか?それは人々が最初に試すものです。
Matt R

9
実行しいる sbtのバージョンを確認するにはどうすればよいですか?」答えは、現在のプロジェクトのバージョンを更新することです。なぜ答えは受け入れられるのですか?
チェリー

47
SBTが最も標準的でない方法で作業を行うことを常に信頼する:)
samthebest

15
全世界は「--version」を使用し、sbtは「sbtVersion」を使用します。頻繁にではなく、必要なときに毎回確認する必要があります。
Osskar Werrewka 2017年

5
古き良きsbtの伝統に従って、ドキュメントで鈍く、よく隠されています。
マタンスター



14

SBT 0.13以降では、sbtVersionタスク(@steffenで指摘)またはaboutコマンド(@ mark-harrahで指摘)を使用できます。

sbtVersionSBTプロジェクトの内外でタスクが機能する方法には違いがあります。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のバージョンやScalaのプラグイン、利用可能なプラグインが表示されるので、コマンドの方が適しているようです。

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

ドキュメンテーションを読むために 'help about'を実行したいかもしれません:

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-version、コマンドラインの1つの意味を上書きするsbt-extrasなどのカスタムsbtランチャーを使用している可能性があります。そうでなければ、sbt-versionコマンドラインとプロンプトの違いがわかりません。sbtVersionどちらの場合も同じ設定にする必要があります。
Mark Harrah、

異なるサブプロジェクトに異なるsbtバージョンを設定する方法はありますか?
アレックス


sbt sbtVersionプロジェクト外で実行すると、実行に9秒かかるのはなぜですか?awk、sed、minibloom、その他のコマンドラインツールと同様に、Python、node、rubyはすべて1秒もかかりません。gccは1秒かかります。これは非常に遅いです。しかし、9秒はチェリーを取ります。そのときsbtは何をしているのですか?
マックスマーフィー

@MaxMurphy JVMの初期化は、私が思うに最も遅いものの1つです。
Jacek Laskowski、

9

使用できます sbt about

例: 
    C:\ Users \ smala> sbt about
    [情報]現在のプロジェクトを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 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またはSBT sbtVersion
ヴィル

新しい情報を含め、他の回答を繰り返さないようにしたかったため、すでに他の回答があります。@ viru
Ramesh Maharjan

0

以下のコマンドを使用して、SBTのバージョンを確認できます

sbt sbtVersion
sbt about
sbt 'inspect version'
sbt version
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.