AmazonLinuxにErlang+Elixir+Phoenixをインストールしてみた

仕事で Phoenixという、Elixirというプログラム言語で作られたWebアプリケーションフレームワークの構築検証した時のメモです。
Elixirは、Erlangという早くて 低いレイヤ向けのプログラム言語に、Ruby風の着ぐるみ(と言っていいのかわかりませんが…)を着せて、Rubyができるエンジニアが低い学習コストで高速なアプリを作れるように開発された、今時のプログラム言語です。
とりあえず今回は、サンプル画面が動いた!というレベルです。
ここからデプロイだったりチューニングだったり運用だったりを整えていかないといけないのですが、その辺はまだキャッチアップできていないので、出来次第ブログに書ければと思います。
感想としては、登場人物(プログラム)が多くて、最初はインストールするのがすごくめんどくさく感じます。 brunch.io という html/css のファイル管理ツールもつかっているため、Node.jsとかもインストールしなければいけません。

EPELリポジトリのインストール

後述する inotifywait をインストールするために、EPELリポジトリを追加します。
sudo yum install epel-release

Gitのインストール

node.jsのバージョン管理ツールであるnvmをインストールするために、Gitをインストールします。
sudo yum install git

Erlang被依存パッケージのインストール

sudo yum install ncurses ncurses-devel openssl openssl-devel gcc-c++ unixODBC unixODBC-devel fop java-1.6.0-openjdk-devel

Erlangのインストール

wget http://www.erlang.org/download/otp_src_18.0.tar.gz
tar xvzf otp_src_18.0.tar.gz
cd otp_src_18.0
./configure
以下は出力されても無視します。GUI開発用とのことで、今回は利用しないためです。
*********************************************************************
**********************  APPLICATIONS INFORMATION  *******************
*********************************************************************
wx           : wxWidgets not found, wx will NOT be usable
*********************************************************************
configureできたらmakeしてインストールします。
sudo make
sudo make install
erl
Ctrl+c -> a

Elixirのインストール

cd ~
git clone https://github.com/elixir-lang/elixir.git
cd elixir
make clean test
mv elixir /opt/
sudo ln -s /opt/elixir/bin/elixir /usr/bin/elixir
sudo ln -s /opt/elixir/bin/iex /usr/bin/iex
sudo ln -s /opt/elixir/bin/elixirc /usr/bin/elixirc
sudo ln -s /opt/elixir/bin/mix /usr/bin/mix

mixとHexのインストール

mixはErlangに付属しています。
mix
mix local.hex
mix hex

nvmのインストール

git clone https://github.com/creationix/nvm.git ~/.nvm
source ~/.nvm/nvm.sh
nvm help

npm(Node.js)のインストール

nvm ls-remote
nvm install v5.3.0
node -v

inotifywaitのインストール

sudo yum install --enablerepo=epel inotify-tools

Phoenixのインストール

mix archive.install https://github.com/phoenixframework/phoenix/releases/download/v1.1.0/phoenix_new-1.1.0.ez

Phoenixアプリテンプレートのセットアップ

mix phoenix.new hello_phoenix

brunch.ioのインストール

cd hello_phoenix
npm install brunch

charmのインストール

cd hello_phoenix
npm install charm

Phoenixアプリ起動

cd hello_phoenix
mix phoenix.server

参考にしたサイト

Dockerに頼らずにCentOS7でElixir開発環境を整備した話 - sat0yu's blog http://sat0yu.hatenablog.jp/entry/2015/08/09/193241 いまアツいJavaScript!ゼロから始めるNode.js入門〜5分で環境構築編〜 http://liginc.co.jp/web/programming/node-js/85318 ElixirとPhoenixをインストールするメモ - bokuweb.me http://blog.bokuweb.me/entry/2015/10/03/153300 Phoenix と Elixir をインストールして ブログを作りはじめます http://www.kaeruspoon.net/articles/1131 Brunch - ultra-fast HTML5 build tool http://brunch.io/ Installation · Phoenix http://www.phoenixframework.org/docs/installation Up And Running · Phoenix http://www.phoenixframework.org/docs/up-and-running

コメント

このブログの人気の投稿

オライリーのDocker本を読んだり色々な記事を読んだりしたので自分なりにまとめる(Dockerfileについて)

一部のユーザだけ NET::ERR_CERT_REVOKED でサイトにアクセスできない

[#CentOS][#Apache] CentOS6 でApacheが起動できない