Elixir を WSL2 で使えるようにした

Elixir Phoenix Web
更新2020/11/15
WindowsのWSL上でElixir環境を作りたいときの流れをまとめておきます。

前提

WindowsでWeb開発をするときWSLが何かと便利なので使っているのですが、ElixirのインストールはMacと同じ方法ではなんどかコケるコマンドがあるので備忘録としてまとてめおきます。私の環境ではWSL2の上でPhoenixもちゃんと動きました。

asdfのインストール

バージョン管理をしてくれるasdfを導入します。
基本ここに乗ってる通りなのですが、最後の~/.bashrcに追記をしてpathを通す部分だけうまくいなかったので ~/.bash_profile から通すようにしてます。(私の勘違いの可能性も十分アリ。)
$ sudo apt install curl git

$ git clone https://github.com/asdf-vm/asdf.git ~/.asdf --branch v0.8.0
$ cd ~/.asdf
$  git checkout "$(git describe --abbrev=0 --tags)"

$ cd
$ echo -e '\n. $HOME/.asdf/asdf.sh' >> ~/.bash_profile
$ echo -e '\n. $HOME/.asdf/completions/asdf.bash' >> ~/.bash_profile
$ source ~/.bash_profile
これでasdf のpathが通るようになったはずです。


erlang/elixirのインストール


asdfでelixirを扱うためのプラグインを導入します。
$ asdf plugin-add erlang https://github.com/asdf-vm/asdf-erlang.git
$ asdf plugin-add elixir https://github.com/asdf-vm/asdf-elixir.git

次に asdf install erlang 23.0.3をするのですが、これをしようとすると必要なライブラリ群がなく失敗します。
ので先に下記を導入します。

$ sudo apt install  libssl-dev make gcc libncurses5-dev

# phoenixを使う予定ならこれも入れとくとよさそう
$ sudo apt install inotify-tools
これでelangとelixirの導入ができるはずです。
$ asdf install erlang 23.0.3
$ asdf install elixir 1.11.0
ちなみに他の環境で何を使ってたっけ...?と思ったときは $ asdf erlang list のようにすると、その環境で使ってたバージョンの一覧が見れます。

あとはデフォルトで使うバージョン指定をします
$ asdf global erlang 23.0.3
$ asdf global elixir 1.11.0
これで晴れてElixirが使えるようになったはずです。
iexなどを実行して動くことを確かめます。
$ iex
>{:ok, text} = {:ok, "hellow world"}
        #=> {:ok, "hellow world"}
> text
        #=> "hellow world"
これでElixirの導入は完了しました!
書いた人/このブログについて

サーバーサイドエンジニア。お仕事ではRubyとPerl。趣味ではC#やHLSLなどを少しと、3DCGでPythonをごまかしながら使う感じ。Unityとインフラ周りも好き。

自分の備忘録もGoogle検索に任せたくてこのブログ書いてる。Phoenix製でEC2上で稼働中。