Dockerに頼らずにCentOS7でElixir開発環境を整備した話

はじめに

windowsであればバイナリが配布されているし、 macubuntuであればおもむろにbrew(apt-get)を打つだけで簡単にElixir開発環境が構築できる。
さらにFedora17以降ならばyumで同様に一発構築が可能。
しかしCentOS7では、リポジトリが登録されておらず(このあたり曖昧です)yumで環境構築ができない。

世の中には親切な人があふれていて、実はすでにdockerイメージを提供してくれている。

CentOS + Erlang + Elixir + PhoenixのDockerイメージで今日から始めるElixir on Phoenix入門

とはいえ、中身が把握できていないと不安な性分ゆえ、0から開発環境したい。
そこで、今回はしこしこ手動インストールでelixir開発環境構築をした際の備忘録。

大枠

  1. Erlang/OTPのインストール
    Erlang公式からソースコードをダウンロードしてconfiguire&make

  2. Elixirのインストール
    Elixir公式に記載されている方法にしたがってgithubからソースコードをダウンロードしてmake

1.Erlang/OTPのインストール

さっそくErlang公式からソースコードをダウンロードしてくる。
f:id:sat0yu:20150809190658p:plain
wgetなりcurlなりでダウンロードして展開

% wget http://www.erlang.org/download/otp_src_18.0.tar.gz
% tar xzf otp_src_18.0.tar.gz
% cd otp_src_18.0

早速configure&makeしたいところだけど、 先に依存関係だけ解決しておく。

% sudo yum -y install ncurses ncurses-devel openssl openssl-devel gcc-c++ unixODBC unixODBC-devel fop

準備ができたらconfigure

% ./configuire

すると、「wxがない」との指摘をうけるが、CUI開発しかしないので無視。

% sudo make
% sudo make install

無事インストールできた確認して次へ進む

% erl
Erlang/OTP 18 [erts-7.0] [source] [64-bit] [async-threads:10] [hipe] [kernel-poll:false]
Eshell V7.0 (abort with ^G)

2. Elixirのインストール

ソースコードからelixirをインストールする方法を公式が掲載してくれている。
githubからクローンしてきて、makeするだけの簡単な作業。 最後にパスを通すところだけ忘れずに。

f:id:sat0yu:20150809192114p:plain

任意のディレクトリ(あとでmvするので)にクローンしてmake

% git clone https://github.com/elixir-lang/elixir.git
% cd elixir
% make clean test

/home以下だと違和感があるのでそれなりの場所に配置&リンクを張る

% cd ..
% sudo mv elixir /usr/local/src
% ln -s /usr/local/src/elixir /usr/local/elixir

最後にシェルの設定ファイル(僕は.zshenv)に以下を記述してパスを通せば完了

¥#elixirへパスを通す
export PATH="$PATH:/usr/local/elixir:/usr/local/elixir/bin"

まとめ

環境構築を終えてから、どうしてdockerfileに書かなかったのか後悔

references: