読者です 読者をやめる 読者になる 読者になる

undefined

bokuweb.me

ElixirとPhoenixをインストールするメモ

Elixir Phoenix

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 executablepsqlin 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にアクセス

f:id:bokuweb:20151003153209p:plain

※'15.10.04修正

Ecto?

Hexなどはなんとなく分かったけどectoがよくわからなかった。

qiita.com

データベース操作モジュールらしい。

RailsのActiveRecordに相当する

と、書いてある記事が多いが、Railsを触ったことない自分にはまずActiveRecordがわからない。

morizyun.github.io

ActiveRecordとは、データベース(DB)の種類を意識することなく、プログラミングしやすい形でDBのテーブルとのデータのやりとりを行えるようにするためのライブラリです。

なるほど。

MongoDBへのアダプタなどもあった。

github.com