mix run — Mix v1.16.3

Search documentation of Mix

# View Source mix run (Mix v1.16.3)

Runs the current application.

`mix run` starts the current application dependencies and the application itself. The application will be compiled if it has not been compiled yet or it is outdated.

`mix run` may also run code in the application context through additional options. For example, to run a script within the current application, you may pass a filename as argument:

    $ mix run my_app_script.exs arg1 arg2 arg3

Code to be executed can also be passed inline with the `-e` option:

    $ mix run -e "DbUtils.delete_old_records()" -- arg1 arg2 arg3

In both cases, the command-line arguments for the script or expression are available in `System.argv/0`. This mirror the command line interface in the `elixir` executable.

For starting long running systems, one typically passes the `--no-halt` option:

    $ mix run --no-halt

The `--no-start` option can also be given and the current application, nor its dependencies will be started. Alternatively, you may use `mix eval` to evaluate a single expression without starting the current application.

If you need to pass options to the Elixir executable at the same time you use `mix run`, it can be done as follows:

    $ elixir --sname hello -S mix run --no-halt

This task is automatically re-enabled, so it can be called multiple times with different arguments.

## Command-line options

- `--eval`, `-e` - evaluates the given code
- `--require`, `-r` - executes the given pattern/file
- `--parallel`, `-p` - makes all requires parallel
- `--preload-modules` - preloads all modules defined in applications
- `--no-archives-check` - does not check archives
- `--no-compile` - does not compile even if files require compilation
- `--no-deps-check` - does not check dependencies
- `--no-elixir-version-check` - does not check the Elixir version from mix.exs
- `--no-halt` - does not halt the system after running the command
- `--no-mix-exs` - allows the command to run even if there is no mix.exs
- `--no-start` - does not start applications after compilation