インストール
Phoenixアプリケーションを構築するためには、オペレーティング・システムにインストールされているいくつかの依存関係が必要です。
- Erlang VMとElixirプログラミング言語
- データベース - PhoenixはPostgreSQLを推奨していますが、他のものを選ぶこともできますし、データベースをまったく使わないこともできます。
- アセットのためのNode.js - とくにAPIを構築している場合は、オプトアウトできます。
- その他、オプションパッケージ
このリストを見て、システムに必要なものをインストールしてください。依存関係を事前にインストールしておくことで、後々のイライラした問題を防ぐことができます。
Elixir 1.6以降
PhoenixはElixirで書かれており、私たちのアプリケーションコードもElixirで書かれます。ElixirなしではPhoenixアプリを作ることはできません!Elixirのサイトでは、素晴らしいインストールページが用意されています。
初めてElixirをインストールしたばかりの場合は、Hexパッケージマネージャもインストールする必要があります。Hexは、(依存関係をインストールすることで)Phoenixアプリを動かすために必要であり、途中で必要になるかもしれない追加の依存関係をインストールするためにも必要です。
以下は、Hexをインストールするコマンドです(Hexが既にインストールされている場合は、Hexを最新バージョンにアップグレードします)。
$ mix local.hex
Erlang 20以降
ElixirのコードはErlangのバイトコードにコンパイルしてErlang仮想マシン上で実行します。Erlangがなければ、Elixirのコードは仮想マシン上で実行することができないので、Erlangもインストールする必要があります。
Elixirのインストールページの指示にしたがってElixirをインストールすると、通常はErlangもインストールされます。もしErlangがElixirと一緒にインストールされていない場合は、インストールページのErlangのインストールのセクションを見てください。
Phoenix
Elixir 1.6とErlang 20以降であることを確認するには、次のように実行してください。
elixir -v
Erlang/OTP 20 [erts-9.3] [source] [64-bit] [smp:8:8] [async-threads:10] [hipe] [kernel-poll:false] [dtrace]
Elixir 1.6.3
ElixirとErlangを手に入れたら、Phoenixアプリケーションジェネレーターをインストールする準備ができました。
$ mix archive.install hex phx_new 1.5.13
起動ガイドという次回のガイドでは、このジェネレーターを使って新しいアプリケーションを生成していきます。
Node.js
Node.jsは任意の依存関係です。Phoenixは、静的アセット(JavaScript、CSSなど)のコンパイルにwebpackをデフォルトで使用します。webpackはnodeパッケージマネージャ(npm)を使用して依存関係をインストールし、npmはNode.jsを必要とします。
静的アセットがない場合や別のビルドツールを使いたい場合は、新しいアプリケーションを作成する際に --no-webpack
フラグを指定すれば、nodeはまったく必要ありません。
Node.jsはダウンロードページから取得できます。ダウンロードするパッケージを選択する際に、Phoenixのバージョンが5.0.0以上を要求することに注意してください。
Mac OS Xの方は、homebrewからNode.jsをインストールすることもできます。
PostgreSQL
PostgreSQLはリレーショナルデータベースサーバーです。PhoenixはデフォルトでPostgreSQLを使用するようにアプリケーションを設定しますが、新しいアプリケーションを作成する際に --database
フラグを渡すことで、MySQLやMSSQLに切り替えることができます。
データベースと通信するために、PhoenixアプリケーションはEctoと呼ばれる別のElixirパッケージを使用します。アプリケーションでデータベースを使用する予定がない場合は、--no-ecto
フラグを渡すことができます。
しかし、Phoenixを使い始めたばかりの場合は、PostgreSQLをインストールして動作確認することをオススメします。PostgreSQL wikiには、さまざまなシステムのためのインストールガイドがあります。
inotify-tools(linuxユーザー用)
Phoenixには、ライブリロードと呼ばれる非常に便利な機能があります。ビューやアセットを変更すると、ブラウザ上で自動的にページをリロードします。この機能を利用するには、ファイルシステムウォッチャーが必要です。
Mac OS XとWindowsユーザーはすでにファイルシステムウォッチャーを持っていますが、Linuxユーザーはinotify-toolsをインストールする必要があります。ディストリビューションごとのインストール方法についてはinotify-tools wikiを参照してください。
まとめ
このセクションの最後に、Elixir、Hex、Phoenix、PostgreSQL、Node.jsをインストールしておく必要があります。これですべてのインストールが完了したので、最初のPhoenixアプリケーションを作成して、起動させましょう。