ElixirのGetting Startedをやろうと思いまして、そのメモです。
はじめに
まずはGetting Startedの1.Introductionです。
内容は次の3つです。
- Installation
- Interactive mode
- Running scripts
Installation
公式サイトのインストールガイドでMac OSXはbrew install elixir
でインストールするようになってます。
楽ちんでいいですが、やっぱりバージョン切り替えとかできたほうがいいよなーってことでexenvを使います。
最近anyenvでexenvをインストールできるようになったみたいなので、exenvのインストールにはanyenvを使います。
anyenvにerlenvとexenvが入ったのは最近っぽいので、アップデートしておきましょう。
(anyenv-updateがインストールされてる必要があります)
anyenv update
Erlangインストール
ElixirにはErlangが必要なので、まずはErlangからインストールしていきます。
Erlangもanyenv経由のerlenvで管理しますが、なんとerlenvにはインストールコマンドがまだないため自分でビルドします。
erlenvをインストールします。
anyenv install erlenv
exec $SHELL -l
Erlangのビルドにあったほうがいいっぽいものをインストールしておきます。
brew install unixodbc wxmac fop
Erlangをerlenv配下のreleases
ディレクトリにインストールします。
anyenv環境下では、~/.anyenv/envs/erlenv/releases
になります。
wget http://www.erlang.org/download/otp_src_18.2.1.tar.gz
tar zxf otp_src_18.2.1.tar.gz
cd otp_src_18.2.1
./configure --prefix=$HOME/.anyenv/envs/erlenv/releases/18.2.1
make -j 4
make install
erlenv global 18.2.1
erlenv rehash
ちゃんとインストールできてるか確認してみます。
$ erl
Erlang/OTP 18 [erts-7.2.1] [source] [64-bit] [smp:4:4] [async-threads:10] [hipe] [kernel-poll:false]
Eshell V7.2.1 (abort with ^G)
1> halt().
最後に、ソースファイルはもう使わないので削除しておきます。
cd ..
rm -rf otp_src_18.2.1 otp_src_18.2.1.tar.gz
Elixirインストール
exenvをインストールします。
anyenv install exenv
exenvにはインストールがあります。
最新版の1.2.3をインストールします。
exenv install 1.2.3
exenv global 1.2.3
インストールの確認にバージョンを表示してみます。
$ elixir -v
Erlang/OTP 18 [erts-7.2.1] [source] [64-bit] [smp:4:4] [async-threads:10] [hipe] [kernel-poll:false]
Elixir 1.2.3
Interactive mode
$ iex
Erlang/OTP 18 [erts-7.2.1] [source] [64-bit] [smp:4:4] [async-threads:10] [hipe] [kernel-poll:false]
Interactive Elixir (1.2.3) - press Ctrl+C to exit (type h() ENTER for help)
iex(1)> 40 + 2
42
iex(2)> "hello" <> " world"
"hello world"
iex(3)>
BREAK: (a)bort (c)ontinue (p)roc info (i)nfo (l)oaded
(v)ersion (k)ill (D)b-tables (d)istribution
a
Running scripts
$ cat simple.exs
IO.puts "Hello world
from Elixir"
$ elixir simple.exs
Hello world
from Elixir