Chapter 02

インストール

koga1020
koga1020
2021.11.24に更新

インストール

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アプリケーションを作成して、起動させましょう。