Phoenixを始めてみた

Phoenix が気になったので、さわり始めた。

Phoenix は Elixir で書かれていて、アプリを作る場合も Elixir で書く。Phoenix もElixir も今まで使ったことがなく、初めての言語、初めてのフレームワークで、いろいろとつまづくことが多そう。その反面、面白いこともありそうなわけで。

とりあえず環境を整えよう。

環境構築

Erlang, Elixir, Phoenix をインストールする。

Elang, Elixir は anyenv を使ってインストールする。

今回インストールしたバージョンは

  • Erlaang/OTP 18
  • Elixir 1.0.5
  • Phoenix 0.16.0

OS は Ubuntu 14.04.3。

*env

anyenv のインストールはREADME.md を参照。

% anyenv install erlenv
% anyenv install exenv
Erlangのインストール

Erlangerlang-build みたいなのがないので、自分でビルドする。

% curl -O http://www.erlang.org/download/otp_src_18.0.tar.gz
% tar xzf otp_src_18.0.tar.gz
% cd otp_src_18.0
% ./configure --prefix=/home/ymmtmsys/.anyenv/envs/erlenv/releases/18.0
% make -j4
% make install
% erlenv global 18.0

ソースは消してOK.

Elixirのインストール
% exenv  install -l     # 最新バージョンの確認のため
% exenv install 1.0.5
% exenv global 1.0.5
Phoenix のインストール

公式ドキュメントを参照

node.js はすでに入っているので省略。

Up And Running

ここ を参考に、サンプルのアプリが起動するか確認。

% mix phoenix.new hello_phoenix
% hello_phoenix
% mix phoenix.server
.
.
.
[info] Running HelloPhoenix.Endpoint with Cowboy on http://localhost:4000
[warning] the :size option when configuring HelloPhoenix.Repo is deprecated, please use :pool_size instead
14 Aug 11:03:56 - info: compiled 5 files into 2 files, copied 3 in 2675ms
[info] GET /
[debug] Processing by HelloPhoenix.PageController.index/2
  Parameters: %{"format" => "html"}
  Pipelines: [:browser]
[info] Sent 200 in 17ms

Ok.

warning は設定ファイルのフィールド名を変えれば出なくなる。

--- config/dev.exs.orig  2015-08-14 11:21:57.671526209 +0900
+++ config/dev.exs    2015-08-14 11:22:01.059526209 +0900
@@ -32,4 +32,4 @@
   username: "postgres",
   password: "postgres",
   database: "hello_phoenix_dev",
-  size: 10 # The amount of database connections in the pool
+  pool_size: 10 # The amount of database connections in the pool