LoginSignup
22
18

More than 5 years have passed since last update.

ErlangとElixirの最新バージョンをソースコードビルド

Last updated at Posted at 2015-01-17

概要

v1.0.0が出たりよさげな本が出版されたりと、安定軌道に乗ったかもしれないElixirですが、バージョン関連の混乱がちょっと前までありました。バージョンを上げたり下げたりすると解決するエラーとか。今もあるかもしれません。
現在はとりあえずErlangもElixirも最新バージョンを入れておけば大丈夫です。最新バージョンをソースコードビルドしてインストールしましょう。

環境

  • OS X Yosemite (10.10.1)

Linux環境も基本的には同じだと思うんですが、後述する準備が違うものになります。

入れるバージョン

現在の最新バージョン

Elrang

  • 17.4

Elixir

  • v1.0.2

を入れましょう。他のバージョンでもやり方は同じですが、Elixirには対応しているErlangのバージョンがあるのでそれを確認してください。

手順

Erlangをkerlでバージョン管理

準備

Command Line Tools for Xcodeをインストールしておく。これはErlangをビルドする前にopenssl関連を入れておかないと、ErlangはビルドできてもElixirがビルドできないからです。
Linuxでも同様のことをしないといけませんが条件は追えていません。なんとかしてErlangビルド後にcrypto:start/0okが返ってくるようにしてください!!

(追記:LinuxでErlangをビルドするときは、voluntasさんの記事「Scientific Linux 6.0 に Erlang をインストールしてみる」に書かれている

$ yum install gcc gcc-c++ make openssl-devel ncurses-devel

をして必要なソフトを入れるとうまくいくと思います。)

Erlangのインストール

Erlangのバージョン管理をソースコード・ビルドで行うツールがkerlです。
適当なbinディレクトリで

$ curl -O https://raw.githubusercontent.com/spawngrid/kerl/master/kerl
$ chmod a+x kerl

kerlを実行コマンドにします。

$ kerl list releases

で使えるバージョンを確認。最新のもの(ここでは17.4)を、好きなビルド名(ここではbuild17.4)を付けてビルドします。

$ kerl build 17.4 build17.4

ちょっと時間がかかります。

次にインストールを行います。
まずビルドバージョンごとにインストール先のディレクトリを作って、kerl installコマンドを叩きます。

$ mkdir -p ~/bin/erlang/17.4
$ kerl install build17.4 ~/bin/erlang/17.4

最後にこのインストールを有効化します。kerl installコマンドを実行すると最終行にactivateコマンドのパスが表示されるのでそれを叩いてください。

$ . ~/bin/erlang/17.4/activate

確認

Erlangがインストールされているか確認しましょう。

$ erl
Erlang/OTP 17 [erts-6.3] [source] [64-bit] [smp:4:4] [async-threads:10] [hipe] [kernel-poll:false]

Eshell V6.3  (abort with ^G)
1> crypto:start().
2> ok

最後にcrypto:start/0を叩いていますが、このモジュールが入っていないとElixirのインストールで失敗するので確認しています。
crypto:start/0に失敗したなら、上述の準備に書かれた作業をしていない可能性が高いので、kerl deleteでインストールしたものとビルドしたものを消してから、準備してもう一度ビルドしてください。

Elixirのインストール

Elixirはバージョン管理ソフトがなさそうなのでgitで落としてきます。

$ git clone https://github.com/elixir-lang/elixir.git
$ cd elixir

最新のタグを確認して、

$ git tag

タグをチェックアウトしてブランチを作ります。

$ git checkout -b v1.0.2 refs/tags/v1.0.2

最後はドキュメントに書かれている通り、ビルドします。

$ make clean test

elixir/binにパスを通しておきましょう。

まとめ

面倒臭いですが一度作ってしまうと最新のElixir環境が維持できるようになります。


追記

2015.2.14 準備に追記

22
18
0

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
22
18