Scalaとsbtのインストール方法(Mac・CentOS)

スポンサーリンク

Scala と sbt のインストール方法です。sbt は Scala のビルドツールになります。

事前準備

Scala は JVM 上で動作するので Java のインストールをしておきます。JVM がないと Scala コマンドが実行できません。

 MacでHomebrewを使用して複数バージョンのJava (JDK) をインストールして切り替える方法
 CentOSにJava(JDK)をRPMでインストール+バージョン変更について

MacにScalaとsbtをインストール

Macでのインストールには Homebrew を使用します。初めて sbt コマンドを実行するときは依存ライブラリなどがダウンロードされるので時間がかかります。

$ brew install scala
$ scala -version
Scala code runner version 2.11.7 -- Copyright 2002-2013, LAMP/EPFL
$ brew install sbt
$ sbt about
...
[info] sbt, sbt plugins, and build definitions are using Scala 2.10.5

CentOSにScalaをインストール

 Download | The Scala Programming Language からリンクをコピーしてダウンロードします。任意ですが分かり易くするために解凍したらシンボリックリンクを作成しましょう。

# cd /usr/local/lib/
# wget http://downloads.typesafe.com/scala/2.11.7/scala-2.11.7.tgz
# tar zxvf scala-2.11.7.tgz
# ln -s scala-2.11.7 scala

 Install | The Scala Programming Language にある通り PATH をセットしますが、システム全体で使用できるように/etc/profile.d/scala.shを作成します。

# echo 'export SCALA_HOME=/usr/local/lib/scala' >> /etc/profile.d/scala.sh
# echo 'export PATH=$PATH:$SCALA_HOME/bin' >> /etc/profile.d/scala.sh
# source /etc/profile.d/scala.sh

scalaコマンドで REPL が起動します。終了したい場合は:quit,:q,Ctrl+Dのいずれかです。

# scala -version
Scala code runner version 2.11.7 -- Copyright 2002-2013, LAMP/EPFL
# scala
Welcome to Scala version 2.11.7 (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_45).
Type in expressions to have them evaluated.
Type :help for more information.

scala>

CentOSにsbtをインストール

CentOSへのインストールはリポジトリを追加して Yum でインストールします。 Getting Started with sbt — Installing sbt on Linux

$ curl https://bintray.com/sbt/rpm/rpm | sudo tee /etc/yum.repos.d/bintray-sbt-rpm.repo
$ sudo yum install sbt

Scalaを実行する

HelloWorld プログラムを作成します。

object HelloWorld {
  def main(args: Array[String]) {
    println("Hello, Scala!")
  }
}

まずは Java と同じようにコンパイルして実行しましょう。

$ scalac HelloWorld.scala
$ ls
HelloWorld$.class  HelloWorld.class  HelloWorld.scala
$ scala HelloWorld
Hello, Scala!

コンパイルしなくても実行可能です。

$ scala HelloWorld.scala
Hello, Scala!

スクリプト言語のようにも扱えるので実行したいコードを書くだけでよく、shebang を使って実行権限を与えて実行することもできます。

$ vi HelloScript.scala
#!/usr/bin/env scala
println("Hello, Script!")
...
$ chmod +x HelloScript.scala
$ ./HelloScript.scala
Hello, Script!

インストールした sbt を使用して実行することも可能です。

$ sbt run
[info] Set current project to vagrant (in build file:/home/vagrant/)
[info] Running HelloWorld
Hello, Scala!
[success] Total time: 2 s, completed 2015/12/23 17:43:54