Elixirのインストール
$ brew install elixir
Hexのインストール
Hexはパッケージ管理ツール。npmに相当するものでしょうか。
$ mix local.hex
$ mix Hex Hex v0.9.0 Hex is a package manager for the Erlang ecosystem.
Phoenixのインストール
$ mix archive.install https://github.com/phoenixframework/phoenix/releases/download/v1.0.3/phoenix_new-1.0.3.ez
Node.jsのインストール
$ brew install node
でも入るけど、今回はnodebrewを使用。
$ curl -L git.io/nodebrew | perl - setup
以下はbashの場合。適宜変更。
$ echo "export PATH=$HOME/.nodebrew/current/bin:$PATH" >> .bashrc $ source ~/.bashrc
$ nodebrew install-binary v0.12.7 $ nodebrew use v0.12.7
sampleアプリの作成
$ mix phoenix.new sample_app
アプリの立ち上げ
※'15.10.04修正
DB使う場合は$ mix ecto.create
しとくべきだったよう。
$ cd sample_app $ mix ecto.create
** (RuntimeError) could not find executable
psqlin path, please guarantee it is available before running ecto commands
と怒られたら、PostgreSQLをインストールする。
$ brew install postgresql
起動
postgres -D /usr/local/var/postgres
ロールの作成
$ psql -d postgres
=# CREATE ROLE postgres LOGIN CREATEDB;
終了
\q
再度create
$ mix ecto.create The database for SampleApp.Repo has been created.
localhost:4000にアクセス
※'15.10.04修正
Ecto?
Hex
などはなんとなく分かったけどecto
がよくわからなかった。
データベース操作モジュールらしい。
RailsのActiveRecordに相当する
と、書いてある記事が多いが、Railsを触ったことない自分にはまずActiveRecord
がわからない。
ActiveRecordとは、データベース(DB)の種類を意識することなく、プログラミングしやすい形でDBのテーブルとのデータのやりとりを行えるようにするためのライブラリです。
なるほど。
MongoDB
へのアダプタなどもあった。