Chapter 02

インストール

koga1020
koga1020
2021.09.25に更新

インストール

Phoenixアプリケーションを構築するためには、オペレーティング・システムにインストールされているいくつかの依存関係が必要です。

  • Erlang VMとElixirプログラミング言語
  • データベース - PhoenixはPostgreSQLを推奨していますが、他のものを選ぶこともできますし、データベースをまったく使わないこともできます。
  • その他、オプションパッケージ

このリストを見て、システムに必要なものをインストールしてください。依存関係を事前にインストールしておくことで、後々のイライラした問題を防ぐことができます。

Elixir 1.12以降

PhoenixはElixirで書かれており、私たちのアプリケーションコードもElixirで書かれます。ElixirなしではPhoenixアプリを作ることはできません!Elixirのサイトでは、素晴らしいインストールページが用意されています。

初めてElixirをインストールしたばかりの場合は、Hexパッケージマネージャもインストールする必要があります。Hexは、(依存関係をインストールすることで)Phoenixアプリを動かすために必要であり、途中で必要になるかもしれない追加の依存関係をインストールするためにも必要です。

以下は、Hexをインストールするコマンドです(Hexが既にインストールされている場合は、Hexを最新バージョンにアップグレードします)。

$ mix local.hex

Erlang 22以降

ElixirのコードはErlangのバイトコードにコンパイルしてErlang仮想マシン上で実行します。Erlangがなければ、Elixirのコードは仮想マシン上で実行することができないので、Erlangもインストールする必要があります。

Elixirのインストールページの指示にしたがってElixirをインストールすると、通常はErlangもインストールされます。もしErlangがElixirと一緒にインストールされていない場合は、インストールページのErlangのインストールのセクションを見てください。

Phoenix

Elixir 1.12とErlang 22以降であることを確認するには、次のように実行してください。

elixir -v
Erlang/OTP 22 [erts-10.7] [source] [64-bit] [smp:8:8] [async-threads:10] [hipe] [kernel-poll:false] [dtrace]

Elixir 1.12.1

ElixirとErlangを手に入れたら、Phoenixアプリケーションジェネレーターをインストールする準備ができました。

$ mix archive.install hex phx_new

次の起動ガイド で、phx.new ジェネレーターが新しいアプリケーションを生成できるようになりました。後述のフラグはジェネレーターのコマンドラインオプションです。 mix help phx.new を呼び出して、利用可能なすべてのオプションを確認できます。

PostgreSQL

PostgreSQLはリレーショナルデータベースサーバーです。PhoenixはデフォルトでPostgreSQLを使用するようにアプリケーションを設定しますが、新しいアプリケーションを作成する際に --database フラグを渡すことで、MySQLやMSSQL、SQLite3に切り替えることができます。

データベースと通信するために、PhoenixアプリケーションはEctoと呼ばれる別のElixirパッケージを使用します。アプリケーションでデータベースを使用する予定がない場合は、--no-ecto フラグを渡すことができます。

しかし、Phoenixを使い始めたばかりの場合は、PostgreSQLをインストールして動作確認することをオススメします。PostgreSQL wikiには、さまざまなシステムのためのインストールガイドがあります。

inotify-tools(Linuxユーザー用)

Phoenixには、ライブリロードと呼ばれる非常に便利な機能があります。ビューやアセットを変更すると、ブラウザ上で自動的にページをリロードします。この機能を利用するには、ファイルシステムウォッチャーが必要です。

macOSとWindowsユーザーはすでにファイルシステムウォッチャーを持っていますが、Linuxユーザーはinotify-toolsをインストールする必要があります。ディストリビューションごとのインストール方法についてはinotify-tools wikiを参照してください。

まとめ

このセクションの最後に、Elixir、Hex、Phoenix、PostgreSQLをインストールしておく必要があります。これですべてのインストールが完了したので、最初のPhoenixアプリケーションを作成して、起動させましょう。