0utputab1e

UbuntuにScala(sbt)をインストールする

 2020-07-02
 

前回の記事「Ubuntu18.04環境にOpenJDK8をインストールしてjavaを動かしてみる」でJDKの導入が完了しました。
今回はJDKを前提に動作する言語「Scala」をインストールしてみようと思います。

公式サイトの手順に従い、対応するOSの手順でインストールしていきます。

前提環境

  • OpenJDK (8 or 11) <- 前回記事で構築済み
  • Ubuntu (18.04.4 LTS)

インストール

公式の通りインストールしていく。 前提環境がDebian系なので、「Linux(deb)」に従う。

$ echo "deb https://dl.bintray.com/sbt/debian /" | sudo tee -a /$ $ etc/apt/sources.list.d/sbt.list
$ curl -sL "https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x2EE0EA64E40A89B84B2DF73499E82A75642AC823" | sudo apt-key add
$ sudo apt-get update
$ sudo apt-get install sbt

 
上記が完了したら、sbtによりScalaのプロジェクト作成・実行が可能になります。

バージョン確認方法は、以下の通り。

$ sbt about  

sbtプロジェクトを作成し、Hello, worldしてみる

まず、空のディレクトリを掘って移動します。

$ mkdir [project_name]
$ cd [project_name]  

 
次にGitHub上の「hello-world」テンプレートをsbtコマンドで取得していきます。

取得したテンプレートをもとにプロジェクトの作成が始まります。

ターミナル上で対話が始まり、プロジェクト名を聞かれるので「hello-world」としておきます。

$ sbt new scala/hello-world.g8  
~ 省略 ~
[info] resolving Giter8 0.13.1...

A template to demonstrate a minimal Scala application

name [Hello World template]: hello-world // <- ここでプロジェクト名を入力

Template applied in /home/[user_name]/sbt1/./hello-world

 
プロジェクトの構造は以下のようになっているようです。

.
├── hello-world
│   ├── build.sbt
│   ├── project
│   │   └── build.properties
│   └── src
│       └── main
│           └── scala
│               └── Main.scala
└── target
└── streams
    └── _global
        └── _global
            └── checkBuildSources
                └── _global
                    ├── inputFileStamps
                    │   └── previous
                    └── streams
                        └── out

13 directories, 5 files  

 
作成されたディレクトリ「hello-world」にcdで入り、sbtを起動します。
sbtの起動にはしばらく時間がかかるので気長に待ちましょう。

$ cd hello-world  
$ sbt  

 
しばらくするとsbtコンソールが起動するので、~runを実行してみます。

sbt:hello-world> ~run
[info] running Main
Hello, World!
[success] Total time: 1 s, completed 2020/07/02 22:00:19
[info] 1. Monitoring source files for hello-world/run...
[info]    Press <enter> to interrupt or '?' for more options.  

 
※ 先頭のオプション「~」をつけることで、
ソースファイルを保存する度 sbt に自動的に再コンパイルを実行させ、
編集〜コンパイル〜テストのサイクルを速めることができます。

 
このターミナルを起動したまま「src/main/scala/Main.scala」を修正してみましょう。

$ vim src/main/scala/Main.scala  
object Main extends App {
    println("おはよう、世界!")
}

 
再度、起動中のsbtコンソールを確認してみると

[info] Build triggered by /home/<user_name>/sbt1/hello-world/src/main/scala/Main.scala. Running 'run'.
[info] Compiling 1 Scala source to /home/<user_name>/sbt1/hello-world/target/scala-2.13/classes ...
[info] running Main
おはよう、世界!
[success] Total time: 6 s, completed 2020/07/02 22:06:15
[info] 2. Monitoring source files for hello-world/run...
[info]    Press <enter> to interrupt or '?' for more options.

 
修正した内容がライブリロードされています。

まだいろいろできそうですが、今回は動作確認のため、ここまでにしようと思います。

では、またお会いしましょう!

 

あわせて読みたい記事

>> Homeに戻る