はじめに
Elixir の mix do コマンドは、複数の Mix タスクを順番に実行できる便利な機能です。たとえば Nerves 開発環境をセットアップするとき、いちいち複数のコマンドを叩く代わりに、1 行でまとめて実行できます。
使い方
公式ドキュメント: Mix.Tasks.Do — HexDocs
mix do の構文は次の通りです。
mix do <task1>, <task2>, <task3>
または、区切りに + を使うこともできます。
mix do <task1> + <task2> + <task3>
do の後に指定したタスクが、順番に実行されます。
実例: Nerves 環境の初期設定
Nerves を使う際、まず Hex と Rebar をインストールし、その後 nerves_bootstrap アーカイブを入れる必要があります。
mix do を使えば、この 3 ステップをまとめて次のように実行できます。
mix do local.hex --force + local.rebar --force + archive.install hex nerves_bootstrap --force
これで、Erlang/Elixir を入れた直後でも一発で環境が整います。
実例: Phoenix 環境の初期設定
Elixir をインストールした直後に Phoenix を使いたい場合も、mix do を使えば次のようにまとめられます。
mix do local.hex --force + local.rebar --force + archive.install hex phx_new --force
おわりに
mix do は、Nerves や Phoenix の初期環境設定に限らず、複数のタスクを順に流したいときに重宝します。