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