LoginSignup
61
55

More than 5 years have passed since last update.

Mac OSXにanyenv/exenvでElixirをインストールする

Last updated at Posted at 2015-07-19

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

参考

61
55
4

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
61
55