Scala 2.10 + Play Framework 2.1 開発環境を構築する
Scala で
Play 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 が提供されるようになったので、前述のコマンドで問題ないです。
お品書き
環境
- 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 Eclipse は Eclipse のバージョンごと + 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 でインポートしてみる。
作成されたままのアプリケーションを起動してみる。 アプリケーションを起動する場合は下記コマンド。
$ 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!
とりあえずここまで。