もともとはhomebrewでsbtをインストールして使っていましたが、sbtの複数のバージョンを使って色々検証したくなりsbtenvを使ってみることにしました。
sbtenvでsbtをインストールしようとすると僕の環境ではgpg周りでsignatureの検証が失敗してしまい、すぐに解決できそうになかったので、手動でsbtをダウンロードしてsbtenvで管理する方法を取りました。
手順
前提として、xxxenv系のツールはanyenvで管理しているため、直接sbtenvをインストールして使う場合と少しパス等が違う可能性があるのでご注意ください。
1. anyenvでsbtenvをインストールする
$ anyenv install sbtenv
以下のコマンドを実行して、sbtenvのバージョンが返ってこればOK!
$ sbtenv -v sbtenv 0.0.24
2. sbtの公式ページからsbtをダウンロードする
公式ページから sbt 1.5.5
の .tgz
をダウンロードします。
3. sbtenvのversionsにディレクトリを作成する
~/.anyenv/envs/sbtenv/versions
配下にsbtのバージョン番号と同じディレクトリを作成します。
$ mkdir -p ~/.anyenv/envs/sbtenv/versions/1.5.5
4. ダウンロードしたsbtをファイルを解凍する
tar xf ~/Downloads/sbt-1.5.5.tgz -C ~/.anyenv/envs/sbtenv/versions/1.5.5/
5. sbtenvで管理されているか確認する
以下のように、sbtenv versions
を実行して、1.5.5の横に*
が付いていたらOKです。
$ sbtenv versions 1.2.8 1.3.9 * 1.5.5 (set by /Users/[username]/.anyenv/envs/sbtenv/version)
付いていなければ、以下を実行してください。
$ sbtenv global 1.5.5
6. sbtの情報を表示してみる
welcome to sbt 1.5.5
と表示されていればOKです。
$ cd ~ && sbt about warning: ignoring extraneous `sbt-` prefix in version `sbt-1.5.5` (set by /Users/[username]/project/build.properties) [info] welcome to sbt 1.5.5 (Amazon.com Inc. Java 11.0.3) [info] loading global plugins from /Users/[username]/.sbt/1.0/plugins [info] loading project definition from /Users/[username]/project [info] set current project to ryskit (in build file:/Users/[username]/) [info] This is sbt 1.5.5 [info] The current project is ProjectRef(uri("file:/Users/[username]/"), "username") 0.1.0-SNAPSHOT [info] The current project is built against Scala 2.12.14 [info] Available Plugins [info] - sbt.ScriptedPlugin [info] - sbt.plugins.CorePlugin [info] - sbt.plugins.Giter8TemplatePlugin [info] - sbt.plugins.IvyPlugin [info] - sbt.plugins.JUnitXmlReportPlugin [info] - sbt.plugins.JvmPlugin [info] - sbt.plugins.MiniDependencyTreePlugin [info] - sbt.plugins.SbtPlugin [info] - sbt.plugins.SemanticdbPlugin [info] sbt, sbt plugins, and build definitions are using Scala 2.12.14