Elixirは素晴らしい言語仕様を持っています。
しかし、環境構築はかなり厄介です。
システム上OS、Erlang VM,Elixirの処理系といった構造になっているため、どれがどこで行われているのか理解していないと躓きやすくなります。
ながらく、Elixirはasdfを使った環境構築が主流でした。
実際そっちのほうが、オーバーヘッドが少ないのですが、asdf自体も仕様変更で使いづらくなっている面があります。
そこで私はDockerによるコンテナ技術での環境構築をおすすめしています。
特にVSCodeを使うならDevcontainerとの連携がしやすくボタンポチポチ押すだけでElixir+拡張機能までついてくるので、DXがまるで違います。
Docker毛嫌いしている方も多いのですが、Phoenixアプリを作るならどのみちPostgresが必要で、Postgresが必要になるとDocker使わざるを得ないので、ElixirとDockerは切っても切り離せない関係なのですね。
Windowsでも、Macでも、Linuxでも、同じ手順なのでわかりやすいのも魅力の一つです。
やり方
テンプレートを作って置きましたので、それを使うのが早いです。
-
以下の拡張機能をインストールします。インストールしてたらスキップです。
https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.vscode-remote-extensionpack
コマンドだとこうです。code --install-extension ms-vscode-remote.vscode-remote-extensionpack
-
Use this templateかフォークをしてリポジトリを取り込んでください。
-
取り込んだリポジトリをVSCodeで開きます。
-
左下の><みたいなマークをクリックし、「Repopen in Container」を選択します。
5.環境構築完了!
感想
これでElixirのややこしい環境構築がこれで少しでも楽になることを祈っています。
おまけ
Phoenix版もあります。