OnWorks favicon

mix - Online in the Cloud

Run mix in OnWorks free hosting provider over Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator

This is the command mix that can be run in the OnWorks free hosting provider using one of our multiple free online workstations such as Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator



mix — The software project management tool


mix [TASK] [project_name]
elixir [OPTIONS] -S mix [TASK] [project_name]


mix is intended for both organizing code into projects and their maintenance. For the latter
the tool offers some advanced features like dependency management, packaging, preparing
documentation, testing and so on.

Have a look at the SYNOPSIS section and the second way of running mix it offers. The point
is that the tool is none other than the Elixir script, therefore it can be invoked via
elixir(1) in the same way as any other script. It's useful when you want to run mix with
particular options.


All the mix functionality is represented by a set of tasks. A task is a piece of code
written in Elixir and intended for solving a particular problem. Like programs, many tasks
accept input parameters and/or support options which slightly modify their behaviour, but
others do not. There are two types of tasks: those that are available after installation
this or that archive (local tasks) and those that are offered by mix (built-in tasks). The
run task will be executed by default if none other has been specified.

In spite of the fact that the greater part of mix is tasks, the man page doesn't contain the
help information related to each of them because mix is self-descriptive. Thus, using the
help task, you can get both the full list of local/built-in tasks and the information
related to a particular task.

An archive, in terms of Erlang, is the ZIP file with the .ez extension which contains a
precompiled Erlang application with all its dependencies[1].

An application is an entity that helps to combine sets of components into a single unit to
simplify their reusing in other systems[2].


Allows specifying the directory into which the archives should be installed (see mix
help archive.install). The ~/.mix/archives directory is used for this purpose by

Allows specifying which environment should be used. The dev environment is used by
default if none other has been specified.

Sometimes you have to use a particular set of configuration parameter values or
perform particular steps when you compile or run a project (or in some other cases).
The mix environments allow grouping values of configuration parameters and steps to
switch between them by specifying the necessary environment via MIX_ENV.

Allows changing the full path to the mix.exs file (see FILES section). The most
obvious use case is to have more than one copy of mix.exs in a project, but it's
worth noting that MIX_EXS should be used only if the mix environments (see above)
are not enough to solve the problem.

Stores configuration files and scripts shared by multiple mix implementations.

See the Mix.Utils.mix_home/0 function.

Allows expanding the code path. If the MIX_PATH environment variable has a value
which consists of multiple paths, they must be colon-separated (for Unix-like
operating systems) or semicolon-separated (for Windows).

As has already been mentioned above, there are two types of tasks: local and built-
in. These tasks are always visible for mix because the directories, in which they
are located, are a part of code path. If a task belongs to neither the one type nor
the other, MIX_PATH helps you say to mix where it should search the task.

Use the :code.get_path/0 function to get the list of paths which are a part of the
code path by default and the Mix.Utils.mix_paths/0 function to get the list of paths
specified in the MIX_PATH value.

Use mix online using onworks.net services

Free Servers & Workstations

Download Windows & Linux apps

Linux commands