Dockerに頼らずにCentOS7でElixir開発環境を整備した話
はじめに
windowsであればバイナリが配布されているし、
macやubuntuであればおもむろにbrew(apt-get)を打つだけで簡単にElixir開発環境が構築できる。
さらにFedora17以降ならばyumで同様に一発構築が可能。
しかしCentOS7では、リポジトリが登録されておらず(このあたり曖昧です)yumで環境構築ができない。
世の中には親切な人があふれていて、実はすでにdockerイメージを提供してくれている。
CentOS + Erlang + Elixir + PhoenixのDockerイメージで今日から始めるElixir on Phoenix入門
とはいえ、中身が把握できていないと不安な性分ゆえ、0から開発環境したい。
そこで、今回はしこしこ手動インストールでelixir開発環境構築をした際の備忘録。
大枠
1.Erlang/OTPのインストール
さっそくErlang公式からソースコードをダウンロードしてくる。
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するだけの簡単な作業。
最後にパスを通すところだけ忘れずに。
任意のディレクトリ(あとで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: