言語のバージョン管理はkerl
kerlを使うと最新バージョンのErlangで開発しながら、古いErlangプログラムをメンテするなどができて便利。
まずパスを通す
~/bin フォルダを作って、その中のプログラムをどのフォルダでも実行できるようにするbashの場合の設定例です。すでに設定済みに方はスキップして構いません。
mkdir -p ~/bin
echo "export PATH=$PATH:~/bin" >> ~/.bashrc
source ~/.bashrc
cd ~/bin/
kerlを入手
wget https://raw.githubusercontent.com/kerl/kerl/master/kerl
chmod 0755 kerl
特定バージョンのErlangをインストール
~/bin/erlang フォルダ以下にErlangプログラムをインストールする例です。
mkdir -p ~/bin/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.1をインストールしてみます。
ダウンロードに約5分、ビルドに約8分かかりました。
kerl build 19.1 19.1
ビルドが終わったら ~/bin/erlang/ 以下にインストールします。
kerl install 19.1 ~/bin/erlang/19.1
最後にactivateする事で、どのフォルダでもErlangのコマンドが使えるようになります。
which erl # erlコマンドが見つからない
source ~/bin/erlang/19.1/activate # activateする
which erl # erlコマンドが見つかる!
erlコマンドを使ってみる
erl
Erlang/OTP 19 [erts-8.1] [source] [64-bit] [smp:4:4] [async-threads:10] [kernel-poll:false]
Eshell V8.1 (abort with ^G)
1> 1 + 1.
2
2> io:format("hello world~n").
hello world
ok
3>
User switch command
--> q
まとめ
お疲れ様でした。
これで様々なErlangのバージョンを切り替えながら使う事ができるようになりました。
次はビルドツールのrebar3を使ってみます。