LoginSignup
5
2

More than 5 years have passed since last update.

Phoenix Frameworkの開発環境を構築する with Ubuntu 16.04

Last updated at Posted at 2018-07-15

初めに

最近、趣味でUnity関連の開発を始めました。それに関連して、リアルタイム通信の仲介役となるサーバーアプリをElixir + Phoenix Frameworkで構築を進めています。この記事は環境構築時の忘備録です。タイトルの通りではありますが、この記事ではVagrantで初期化したUbuntu上(Ubuntu 16.04)でPhoenix Framework用の開発環境を整えるところまで進めます。バージョンやプロジェクト名・データベース名などは、必要に応じて改変してください。

依存関係

Phoenix Frameworkを使った開発環境の構築には、Elixirが導入されていることはもちろん、Node.jsやデータベースがセットアップされている必要性があります。ざくっとですが、HelloWorldするのに下記パッケージを必要です。

  • Phoenix Framework
    • Elixir
    • Node.js
    • Postgres (初回HelloWorldするのに必要)

手順

必要なパッケージ類のインストール

inotify-toolsは、Phoenixがファイルの変更を自動で検知してリロードするために必要です。
なくても動きますが、実行時にerrorが出ます。


$ sudo apt install wget curl git vim inotify-tools

Erlangの導入

筆者環境ではerlangインストール中にHash Sum mismatchと出ましたが、apt updateしなおしたら治りました。


$ wget https://packages.erlang-solutions.com/erlang-solutions_1.0_all.deb
$ sudo dpkg -i erlang-solutions_1.0_all.deb
$ sudo apt update
$ sudo apt install -y erlang

Elixirの導入 (exenv経由)


$ git clone git://github.com/mururu/exenv.git .exenv
$ git clone git://github.com/mururu/elixir-build.git ~/.exenv/plugins/elixir-build
$ echo 'export PATH="$HOME/.exenv/bin:$PATH"' >> ~/.bashrc
$ echo 'eval "$(exenv init -)"' >> ~/.bashrc
$ source ~/.bashrc
$ exenv install 1.6.6
$ exenv global 1.6.6

Node.jsの導入 (nvm経由)

phoenix.newするときに、Node.js(というかnpm..?)が必要になります。
ここで入れておきましょう。


$ curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash
$ nvm install v8.11.3
$ source ~/.bashrc

PostgresDBの構築 (Docker経由)

Docker経由でPostgreSQLサーバーをローカルに立てます。
DBが立ち上がっていないと後述のサーバー起動時にエラーで落ちます。


$ curl -fsSL get.docker.com -o get-docker.sh
$ sh get-docker.sh
$ sudo usermod -aG docker $(whoami)
$ docker run -d --name postgres -p 5432:5432 -e POSTGRES_DB=hello_phoenix_dev postgres:9.6

Phoenix Frameworkの導入


# Package manager hexの導入
$ mix local.hex
$ mix archive.install https://github.com/phoenixframework/archives/raw/master/phoenix_new.ez

プロジェクト作成

phoenix.newするときに、Fetch and install dependencies?と聞かれます。
Yを押して依存関係を入れておきましょう。

mix phoenix.serverでサーバーアプリが起動します。
初回起動は、生成されたソースをコンパイルするのでちょっと時間がかかるようです。


$ mix phoenix.new hello_phoenix
$ cd hello_phoenix
# サーバー起動
$ mix phoenix.server

確認

サーバーを起動すると4000番でLISTENされるので、http://(マシンのアドレス):4000でアクセスしてみましょう。
下記のような画面が出てくれば、HelloWorld成功です。

無題2.png

5
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
2