Edited at

Ubuntu14.04へのElixirインストールの覚書

More than 3 years have passed since last update.

Ubuntu14.04へのElixirインストールについて、主にErlangの部分で躓いたので、忘れないうちにまとめとく。

まとめると言っても、基本bash_historyからのログ引っこ抜きで書いてるので、あまりあてにならないかもしれない。

基本的に以下のページを参考にしつつ、ubuntu用のパッケージを順次追加していくのが主な流れ。


Erlangのインストール

取り敢えず、Erlangのインストールが必要なのでこっちから片付ける。寧ろ、この部分がこの記事のメイン。

erlenv使ってやる。anyenvは今回使わない。(深い意味は無い)

git clone https://github.com/talentdeficit/erlenv.git $HOME/.erlenv

echo 'export PATH="$HOME/.erlenv/bin:$PATH"' >> ~/.bash_profile
echo 'eval "$(erlenv init -)"' >> ~/.bash_profile

erlenvはbuildツール無しでやる。(ただ単に使い方を知らない)

ソースのダウンロードとインストールは適当なtmpdirでやる。

versionの最新は18.1。

が、その前に、必要なパッケージをインストールしていく。

sudo apt-get install build-essential git wget libssl-dev libreadline-dev libncurses5-dev zlib1g-dev m4 curl

sudo apt-get install wx-common libwxgtk3.0-dev

sudo apt-get install libwxbase3.0

上記については後述する通りwxのライブラリを除外するオプションで不要になるかもしれないけど、もしエラーになるなら追加しとく。

デフォルトではJava本体が必要なのでもし入ってないなら、ここでインストール。

(--without-javacのオプション追加で不要になるかもしれない)

sudo add-apt-repository ppa:webupd8team/java

sudo apt-get update
sudo apt-get install oracle-java8-installer
sudo apt-get install oracle-java8-set-default

まだまだある。

sudo apt-get install unixodbc-dev

sudo apt-get install g++
sudo apt-get install fop
sudo apt-get install xsltproc xmllint libxml2-utils

(xmllintいらんかも。。。)

ここから先インストールするパッケージに関しては、以下のページを見る限りだと、

./configure --without-wx

のオプションで丸ごと省略できるかもしれない。見る限りGUIのライブラリを延々インストールするのでwebで使うだけなら不要だと思う。

オプションについては

http://qiita.com/cooldaemon/items/685b1ef71978614ba7a2



http://qiita.com/voluntas/items/a39cf3ec1a385e612f2a

を見て適宜設定。

Erlang Build Fails: Can not link the wx driver, wx will NOT be useable

ぱっと見必要なさそうなGUIのライブラリだけど、ビルド時に必要っぽいので突っ込んどく。



sudo apt-get install libqt5opengl5 libqt5opengl5-dev libgtk3.0-cil libgtk3.0-cil-dev



(環境によってはエラーになるかもしれない(Nitrous.ioだとエラーが途中で出たが継続する分には問題無さそう))

全部入ったらようやくソースのビルド。

wget http://www.erlang.org/download/otp_src_18.1.tar.gz

tar xvzf otp_src_18.1.tar.gz
cd opt_src_18.1
./configure --prefix=$HOME/.erlenv/releases/18.1
make -j 4
make install

結構かかるのでお茶でも飲みながら待つといいよ。

もしビルドエラーがでないなら、以下のコマンド叩いて動作確認。

erlenv global 18.1

erlenv rehash
erl


Elixirのインストール

こちらもお約束通り、env系のツールでインストール。こちらは特に躓くところはない。

git clone https://github.com/mururu/exenv.git $HOME/.exenv

exec $SHELL -l
git clone https://github.com/mururu/elixir-build.git ~/.exenv/plugins/elixir-build
echo 'export PATH="$HOME/.exenv/bin:$PATH"' >> ~/.bash_profile
echo 'eval "$(exenv init -)"' >> ~/.bash_profile
exec $SHELL -l
exenv install -list

取り敢えず現時点で最新の1.1.1をインストール。

exenv install 1.1.1

exenv global 1.1.1

ここまでうまく通ったら、以下のコマンドで確認。

$ elixir -v

$ iex


結論として

なんかもうErlangに関しては素直に

https://packages.erlang-solutions.com/erlang/

から拾ってくるのが最良な気がしてきた。

そしてelixirに関してはenv系のツールでバージョン切換するのがベストなんじゃないかと。