mix run
Запускает текущее приложение и выполняет код.
mix run можно использовать для запуска зависимостей текущего приложения, самого приложения и, необязательно, выполнения некоторого кода в его контексте. Для долгоживущих систем это обычно делается с опцией --no-halt.
mix run --no-halt
После запуска текущего приложения и его зависимостей вы можете запустить скрипт в его контексте, передав имя файла:
mix run my_app_script.exs arg1 arg2 arg3
Код для выполнения также может быть передан в строчном виде с помощью опции -e:
mix run -e "DbUtils.delete_old_records()" -- arg1 arg2 arg3
В обоих случаях аргументы командной строки для скрипта или выражения доступны в System.argv/0.
Перед выполнением чего-либо Mix скомпилирует текущее приложение при необходимости, если вы не передадите --no-compile.
Если по какой-либо причине приложение необходимо настроить перед запуском, можно использовать опцию --no-start, и вы будете нести ответственность за запуск всех приложений, используя функции, такие как Application.ensure_all_started/1. Дополнительную информацию о жизненном цикле приложения и динамической настройке приложений см. в модуле Application.
Если вам нужно передать параметры исполняемому файлу Elixir одновременно с использованием mix run, это можно сделать следующим образом:
elixir --sname hello -S mix run --no-halt
Эта задача автоматически повторно включается, поэтому ее можно вызывать несколько раз с разными аргументами.
Параметры командной строки
-
--config- загружает указанные файлы конфигурации -
--eval,-e- оценивает заданный код -
--require,-r- выполняет заданный шаблон/файл -
--parallel,-p- делает все require параллельными -
--preload-modules- предварительно загружает все модули, определенные в приложениях -
--no-compile- не компилирует, даже если файлы требуют компиляции -
--no-deps-check- не проверяет зависимости -
--no-archives-check- не проверяет архивы -
--no-halt- не завершает систему после выполнения команды -
--no-mix-exs- позволяет команде работать, даже если mix.exs отсутствует -
--no-start- не запускает приложения после компиляции -
--no-elixir-version-check- не проверяет версию Elixir из mix.exs
© 2012 Plataformatec
Licensed under the Apache License, Version 2.0.
https://hexdocs.pm/mix/1.12.0/Mix.Tasks.Run.html