「すごいErlangゆかいに学ぼう!」を読み始めた。
タイトルの通り面白そうな本なのだが、環境構築があまり書いてなかったので、自分なりにまとめてみた。
ご指摘どんどんしていただけると助かりますm(_ _)m
環境
- Mac OS X EI Capitan
- IntelliJ IDEA 2017.1.4
Erlang
まずは何はなくともErlangをインストールしないことには始まらない。
ただ、Rubyであればrbenv,NodeでいえばnvmのようにErlangの複数バージョンを管理するためのツールが存在するはず。
自分が調べた限りだが、erln8、kerlがあるようで、前者はNo Maintenance Intended
となっていて、kerlのほうが良さそう。
kerl
kerlインストール
homebrew
でインストールできる。
$ brew install kerl
Erlang configオプションのデフォルト指定
Erlang OTPのビルドに使うデフォルトのconfigオプションは ~/.kerlrc に書いておくことができる。
$ echo 'KERL_CONFIGURE_OPTIONS="--disable-hipe --enable-smp-support --enable-threads --enable-kernel-poll" ' > ~/.kerlrc
(上記のパラメータがどんな意味を持つかは今後、勉強を進めて理解を深めていこうと思う。)
kerlによるErlangインストール
リリースされているErlangのバージョンは以下のコマンドで確認することができる。
$ kerl list releases
R10B-0 R10B-10 R10B-1a R10B-2 R10B-3 R10B-4 R10B-5 R10B-6 R10B-7 R10B-8 R10B-9 R11B-0 R11B-1 R11B-2 R11B-3 R11B-4 R11B-5 R12B-0 R12B-1 R12B-2 R12B-3 R12B-4 R12B-5 R13A R13B01 R13B02-1 R13B02 R13B03 R13B04 R13B R14A R14B01 R14B02 R14B03 R14B04 R14B R14B_erts-5.8.1.1 R15B01 R15B02 R15B02_with_MSVCR100_installer_fix R15B03-1 R15B03 R15B R16A_RELEASE_CANDIDATE R16B01 R16B02 R16B03-1 R16B03 R16B 17.0-rc1 17.0-rc2 17.0 17.1 17.3 17.4 17.5 18.0 18.1 18.2 18.2.1 18.3 19.0 19.1 19.2 19.3 20.0
R16
までと17.0
以降でバージョンの形式が変わっているのが面白い。(何があったのか気になるが…)
ついでに、すごいErlangゆかいに学ぼう!は2014/7/4発売でR15B
なので、そこからメジャーバージョンが5つも上がっていることになる。
Erlangの開発スピードは非常に早い!
その中からバージョンを選び、ビルドする。
このビルドにはけっこう時間がかかる(たぶん10分〜15分ぐらい)ので、ご注意を。
$ kerl build 19.3 19.3
つぎにインストールと有効化を実施する。
$ kerl install 19.3 ~/erlang/19.3
$ . ~/erlang/19.3/activate
これでErlangが使えるようになったと思うので、試しにerl
と打ってみれば有効になっているか、指定したバージョンで動いているか確認することができる。
$ erl
Erlang/OTP 19 [erts-8.3] [source] [64-bit] [smp:4:4] [async-threads:10] [kernel-poll:false]
Eshell V8.3 (abort with ^G)
1>
Rebar3
「すごいErlangゆかいに学ぼう!」では、rebarが紹介されている。
またIntelliJのErlangセットアップページでもrebarによる設定が解説されている。
しかしながら、RebarのGitHubでは、rebar自体はDeprecatedっていること、そしてRebar3を推奨することが書かれている。
なぜRebar3が必要になったか、についてはRebar3のReadMeにはこのように書かれている。
Rebar3 is the spiritual successor to rebar 2.x, which was the first usable build tool for Erlang that ended up seeing widespread community adoption. It however had several shortcomings that made it difficult to use with larger projects or with teams with users new to Erlang.
自分のあっさり解釈では、rebarは限界がきており、rebarの後継のRebar3を新しく作った、ということだと思う。
そのため、ここではRebar3のインストール方法についてまとめる。
Rebar3インストール
$ wget https://s3.amazonaws.com/rebar3/rebar3 && chmod +x rebar3
$ ./rebar3 local install
$ echo 'export PATH=$PATH:~/.cache/rebar3/bin' >> ~/.bash_profile
$ source ~/.bash_profile
インストールが完了したらコマンドが正しく表示されるか確認する。
$ rebar3 --version
rebar 3.4.1 on Erlang/OTP 19 Erts 8.3
IntelliJ IDEA Erlang Plugin設定
自分はIntelliJユーザなので、ErlangについてもIntelliJで動くように設定してみた。
IntelliJのErlangセットアップページを参考にした。
まずはIntelliJのErlangプラグインのインストール。
Preferences -> Plugin でErlangと入力すればプラグインを探すことができる。あとはそのプラグインをインストールすればよい。
デフォルトのプロジェクト構成を設定する必要がある。
File -> Other Settings -> Default Project Structure を開き、Erlang SKDを追加する。
Preferences -> Other Settings → Erlang External Toolsを開き、Rebar3の設定を行う。
問題なければ新規プロジェクトでErlangを選択でき、Erlangの開発ができるようになっている。
所感
「すごいErlangゆかいに学ぼう!」からけっこうErlangがバージョンアップしていること、
そしてrebar -> Rebar3に移り変わっていること、
などから、Erlangはコミュニティが活発な言語という印象を受けた。
最新にキャッチアップしていくためにも、本を読み終わっても引き続き、
公式ページやコミュニティに参加して、最新の情報を勉強していく必要があると感じた。
Erlangの勉強は始まったばかりで、まだまだ終わらない!