たなかこういちの資料室

システム開発に携わる筆者があれこれ試したことや学んだことについてのまとめ

Scalaを導入した

Scala本体とsbt(Scala Build Tool)をMacに導入する手順をまとめました。

 
前提
 
- OS X 10.8.3
- MacPorts導入済み
- 2013/5/28にScala導入実施、5/29にsbt導入実施
 
Scalaを導入する
 
ScalaのサイトのこちらのページにDistributionの説明があります。
ここではMacPortsで導入することとします。
 
0. (適宜、)MacPorts自体と既存導入物を更新しておきます。
 
$ sudo port selfupdate
 
引き続いて、
 
$ sudo port upgrade outdated
 
1. ScalaMacPortsで導入します。
 
$ sudo port install scala2.10
 
※これで、"/opt/local/bin/scala-2.10"などの起動用シェルスクリプトへのシンボリックリンクと、"/opt/local/share/scala-2.10"ディレクトリが作成されます。
Scalaのサイトのこちらの説明では"sudo port install scala"とせよ、とありましたが、実際には"scala2.10"と指定する必要がありました。MacPortsこちらのリストで最新を確認した方がよいようです。
 
MacPortsによる導入のログ】
-----(ここから)-----
$ sudo port install scala2.10
Password:
--->  Computing dependencies for scala2.10
--->  Dependencies to be installed: scala_select
--->  Fetching archive for scala_select
--->  Attempting to fetch scala_select-0.1_2.darwin_12.noarch.tbz2 from http://jog.id.packages.macports.org/macports/packages/scala_select
--->  Attempting to fetch scala_select-0.1_2.darwin_12.noarch.tbz2.rmd160 from http://jog.id.packages.macports.org/macports/packages/scala_select
--->  Installing scala_select @0.1_2
--->  Activating scala_select @0.1_2
--->  Cleaning scala_select
--->  Fetching archive for scala2.10
--->  Attempting to fetch scala2.10-2.10.1_0.darwin_12.noarch.tbz2 from http://jog.id.packages.macports.org/macports/packages/scala2.10
--->  Attempting to fetch scala2.10-2.10.1_0.darwin_12.noarch.tbz2.rmd160 from http://jog.id.packages.macports.org/macports/packages/scala2.10
--->  Installing scala2.10 @2.10.1_0
--->  Activating scala2.10 @2.10.1_0
--->  Cleaning scala2.10
--->  Updating database of binaries: 100.0%
--->  Scanning binaries for linking errors: 100.0%
--->  No broken files found.
-----(ここまで)-----
 
2. 環境変数SCALA_HOMEを設定します。
 
【設定例】
export SCALA_HOME=/opt/local/share/scala-2.10
 
インタラクションモードでScalaを起動する(REPLを起動する)
 
1. 下記コマンドを実行します。
 
$ scala-2.10
 
※上記は本メモが記すようにMacPortsで導入した場合です。REPL起動用のコマンドは本来は単に"scala"です。本メモが記すようにMacPortsで導入した場合、"/opt/local/bin/scala-2.10"というシンボリックリンクが配置されるので、("/opt/local/bin"にPathが通っていることを前提として、)それを実行します。私は、めんどうなので"/opt/local/bin/scala-2.10"を"/opt/local/bin/scala"へリネームしました。
 
【起動メッセージ例】
-----(ここから)-----
Welcome to Scala version 2.10.1 (Java HotSpot(TM) 64-Bit Server VM, Java 1.6.0_45).
Type in expressions to have them evaluated.
Type :help for more information.
 
scala>
-----(ここまで)-----
 

sbtを導入する

 
sbtのサイトの説明に則って、MacPortsで導入することとします。
 
1. sbtをMacPortsで導入します。
 
$ sudo port install sbt
 
※これで、"/opt/local/bin/sbt"のシンボリックリンク、"/opt/local/share/sbt"ディレクトリが作成されます。
※2013.5.29時点で、バージョン「0.12.3」(※導入実施時点での最新安定版)が導入されることを確認しました。
 
MacPortsによる導入のログ】
-----(ここから)-----
$ sudo port install sbt
Password:
--->  Fetching archive for sbt
--->  Attempting to fetch sbt-0.12.3_0.darwin_12.noarch.tbz2 from http://jog.id.packages.macports.org/macports/packages/sbt
--->  Attempting to fetch sbt-0.12.3_0.darwin_12.noarch.tbz2.rmd160 from http://jog.id.packages.macports.org/macports/packages/sbt
--->  Installing sbt @0.12.3_0
--->  Activating sbt @0.12.3_0
--->  Cleaning sbt
--->  Updating database of binaries: 100.0%
--->  Scanning binaries for linking errors: 100.0%
--->  No broken files found.
-----(ここまで)-----
 
2. 一度sbtを起動しておきます。
 
$ mkdir TempProj
$ cd TempProj
$ sbt
 
※sbtは初回起動時、"~/.sbt"ディレクトリを作成し、また、"~/.ivy2"配下にいろいろダウンロードします。ダウンロードに少し時間がかかります。
※sbtは、起動するとカレントディレクトリに"target"という作業用のサブディレクトリを作成します。(カレントディレクトリがユーザーのホームディレクトリ("~")だった場合は、"~/.sbt"下に"target"を作成するようです。)よって、上に示したコマンド例の様に、一時的なサブディレクトリを作成してそこに移動してからsbtを起動することを勧めます。
 
以上でsbtの導入は完了です。次は具体的にsbtプロジェクトを作成する段階です。
sbtのサイトのこのページから、sbtプロジェクトの作り方や構成などが説明されています。
 
関連
 
◆以上