パンダのメモ帳

技術系のネタをゆるゆると

Scala 2.10 + Play Framework 2.1 開発環境を構築する

ScalaPlay Framework 2.0 おもしろそう!
→ でも Anorm はちょっと……
ScalaQuery ってのがよさげ
→ よく調べると ScalaQuery は古くて SLICK が後継らしい
→ でも SLICK は安定版の Scala 2.9 じゃなくて開発版の 2.10 が必要
Scala 2.10 だと Play も開発版の 2.1 が必要……だと……!?

というわけで、安定版の Scala 2.9 + Play 2.0 じゃなくて Scala 2.10 + Play 2.1 な環境を構築することにしました。ちなみに安定版なら

$ brew install scala
$ brew install play

でおしまい。かんたーん!

2013-02-12 追記:
すでに Homebrew で Scala 2.10 + Play 2.1 が提供されるようになったので、前述のコマンドで問題ないです。

お品書き

  1. Scala 2.10 をインストール
  2. Play Framework 2.1 をインストール
  3. Scala IDE for Eclipse をインストール
  4. とりあえず試してみる!

環境

  • OSX 10.8.2 Mountain Lion (Macbook Pro with Retina Display Mid 2012)
  • Eclipse 4.2 Juno
  • Scala 2.10.0-RC1
  • Play Framework 開発版
  • Scala IDE 2.1.0 Milestone 2 for Eclipse 3.8/4.2 (Juno)

Scala をインストール

ここから Release Candidates の scala-2.10.0-RC1.tgz をダウンロードして展開する。 Windows 向けの .bat ファイルは邪魔なだけなので削除しておく。

$ wget http://www.scala-lang.org/downloads/distrib/files/scala-2.10.0-RC1.tgz
$ tar xf scala-2.10.0-RC1.tgz
$ mv scala-2.10.0-RC1 /usr/local/opt/scala
$ rm /usr/local/opt/scala/bin/*.bat

.bashrc を編集してパスを通しておく。

PATH=$PATH:/usr/local/opt/scala/bin

とりあえず起動してみる。

$ scala
Welcome to Scala version 2.10.0-RC1 (Java HotSpot(TM) 64-Bit Server VM, Java 1.6.0_37).
Type in expressions to have them evaluated.
Type :help for more information.

scala> :quit

Scala のインストールはこれでおしまい。

Play Framework をインストール

Play Framework は最新版を使いたいので、 まずは Github から最新版を clone する。 ディレクトリなどは適当に。

$ mkdir ~/git
$ cd git
$ git clone git://github.com/playframework/Play20.git play

次に README.md に従ってインストールを行う。

$ cd ~/git/play/framework
$ ./build
> build-repository

最後に play コマンドを使えるように PATH の通ったディレクトリにシンボリックリンクを作っておく。

$ cd ~/bin
$ ln -s ~/git/play/play

バージョンを確認する。

$ play help
       _            _
 _ __ | | __ _ _  _| |
| '_ \| |/ _' | || |_|
|  __/|_|\____|\__ (_)
|_|            |__/

play! 2.1-SNAPSHOT (using Java 1.6.0_37 and Scala 2.10.0-RC1), http://www.playframework.org

Welcome to Play 2.0!

These commands are available:
-----------------------------
license            Display licensing informations.
new [directory]    Create a new Play application in the specified directory.

You can also browse the complete documentation at http://www.playframework.org.

これで Play Framework のインストールはおしまい。

Scala IDE for Eclipse をインストール

Scala IDE for EclipseEclipse のバージョンごと + Scala のバージョンごとに Update Site が違うので注意。 今回は Eclipse 4.2 Juno + Scala 2.10 なので

http://download.scala-ide.org/sdk/e38/scala210/dev/site/

を使用する。 ヘルプ > 新規ソフトウェアのインストール… から Update Site を追加し、下記のプラグインをインストールする。

他にもいくつかプラグインがあるけどよくわからないのでパス。 インストールが終わったら Eclipse を再起動しておしまい。

とりあえず試してみる!

まずは play コマンドで simple scala application を作成する。

$ cd /path/to/eclipse-workspace
$ play new hoge
       _            _
 _ __ | | __ _ _  _| |
| '_ \| |/ _' | || |_|
|  __/|_|\____|\__ (_)
|_|            |__/

play! 2.1-SNAPSHOT (using Java 1.6.0_37 and Scala 2.10.0-RC1), http://www.playframework.org

The new application will be created in /path/to/eclipse-workspace/hoge

What is the application name? 
> hoge

Which template do you want to use for this new application? 

  1             - Create a simple Scala application
  2             - Create a simple Java application
  <g8 template> - Create an app based on the g8 template hosted on Github

> 1
OK, application hoge is created.

Have fun!

次に作成したアプリケーションを Eclipse のプロジェクトとして使用できるようにする。

$ cd hoge
$ play eclipse
[info] Loading project definition from /path/to/eclipse-workspace/hoge/project
[info] Set current project to hoge (in build file:/path/to/eclipse-workspace/hoge/)
[info] About to create Eclipse project files for your project(s).
[info] Updating {file:/path/to/eclipse-workspace/hoge/}hoge...
[info] Done updating.                                                             
[info] Compiling 5 Scala sources and 1 Java source to /path/to/eclipse-workspace/hoge/target/scala-2.10/classes...
[info] Successfully created Eclipse project files for project(s):
[info] hoge

$ play eclipse-create-src
[info] Loading project definition from /path/to/eclipse-workspace/hoge/project
[info] Set current project to hoge (in build file:/path/to/eclipse-workspace/hoge/)
[info] EclipseCreateSrc.ValueSet(Unmanaged, Source)

作成したアプリケーションを Eclipse でインポートしてみる。

f:id:shogo0809:20121107005714p:plain

作成されたままのアプリケーションを起動してみる。 アプリケーションを起動する場合は下記コマンド。

$ play run
[info] Loading project definition from /path/to/eclipse-workspace/hoge/project
[info] Set current project to play-slick-sample (in build file:/path/to/eclipse-workspace/hoge/)

--- (Running the application from SBT, auto-reloading is enabled) ---

[info] play - Listening for HTTP on /0:0:0:0:0:0:0:0%0:9000

(Server started, use Ctrl+D to stop and go back to the console...)

Port 9000 で Listen しはじめるので http://localhost:9000/ にアクセスしてみる。 こんな画面が出てくればOK!

f:id:shogo0809:20121107112247p:plain

とりあえずここまで。