ElixirGetting 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

参考

Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account log in.