Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
55
Help us understand the problem. What is going on with this article?
@nownabe

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

More than 3 years have passed since last update.

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

参考

55
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
nownabe

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
55
Help us understand the problem. What is going on with this article?