概要
バックエンドのプログラムの学習としてElixirを使ってアプリケーションを作って見ようと思います。
そこで、Elixirについて勉強してみたことをまとめていきます。
※しばらく凍結していたものを動かしたので情報は古めです。
Elixirとは
ElixirはErlangのVM上で動作する関数型言語です。
Elixirの特徴は以下となります。
- スケールしやすい
- 耐障害性が高い(フォールトトレラント)
- 関数型プログラミング
- 拡張しやすい
環境構築
- Erlang関係のパッケージを導入
sudo yum install ncurses ncurses-devel openssl openssl-devel gcc-c++ unixODBC unixODBC-devel fop *openjdk-devel inotify-tools
- 作業ディレクトリ作成&移動
mkdir work
cd work/
- Erlangの最新コード(2017/01/14時点で19.2)をダウンロードして解凍
wget http://erlang.org/download/otp_src_19.2.tar.gz
tar -zxf otp_src_19.2.tar.gz
- ビルド&インストール
cd otp_src_19.1/
./configure
make
sudo make install
- Erlangが入ったか確認
erl -version
- Elixirのソースコードをダウンロード&解凍(解凍は/opt/elixirに)
cd ..
wget https://github.com/elixir-lang/elixir/releases/download/v1.4.0/Precompiled.zip
sudo unzip Precompiled.zip -d /opt/elixir
- PATHに追記して再起動
sudo vim ~/.bash_profile
(以下追記)
export PATH=/opt/elixir/bin:$PATH
sudo reboot
- Elixirが入ったか確認
$ elixir -v
- パッケージ管理ツールHexを標準ビルドツールmixでインストール
$ mix local.hex
- WebフレームワークPhoenixをmixでインストール
$ mix archive.install https://github.com/phoenixframework/archives/raw/master/phoenix_new.ez
これで一先ずインストールは完了です。
アプリケーションの準備
アプリケーションを構築します。
このとき、DBを指定しないとPostgreSQLがインストールされます。
mix phoenix.new elixir_blog --no-brunch --database mysql
インストールが完了すると、上記画面が表示されます。
このまま、 mix phoenix.server
を実行しても、DBがなくエラーとなります。そのため、次はDBを構築します。
DBを構築するため、mysql
にDBを作ります。
$ mix ecto.create
The database for ElixirBlog.Repo has been created
これで立ち上げる準備が整いました。
では、Phoenixを立ち上げます。
$ mix phoenix.server
[info] Running ElixirBlog.Endpoint with Cowboy using http://localhost:4000
http://localhost:4000
にアクセスするとデフォルトの画面が表示されます。
これで環境構築はできました。
これから開発していこうと思います。
以上、最後まで読んで頂きありがとうございました。