Original author(s) | Anthony Grimes |
---|---|
Initial release | 2012 |
Stable release | 1.11.4
/ 16 March 2021[1] |
Written in | Elixir |
Platform | Erlang |
Type | Build tool |
License | Apache License 2.0[2] |
Website | hexdocs |
Mix is a build automation tool for working with applications written in the Elixir programming language.[3][4] Mix was created in 2012 by Anthony Grimes, who took inspiration from Clojure's Leiningen. Soon after, Mix was merged into the Elixir programming language itself and to this day is one of the six applications that are part of the Elixir language. Mix provides functionality for creating, compiling, and testing Elixir source code and for managing dependencies and deploying Elixir applications.[5]
Mix provides tasks to create, clean, build, compile, run, and test Elixir applications. For example, Mix may be used to create a new Elixir project, such as a new hello_world application. Running mix new hello_world will result in
$ mix new hello_world
* creating README.md
* creating .formatter.exs
* creating .gitignore
* creating mix.exs
* creating config
* creating config/config.exs
* creating lib
* creating lib/hello_world.ex
* creating test
* creating test/test_helper.exs
* creating test/hello_world_test.exs
Your Mix project was created successfully.
You can use "mix" to compile it, test it, and more:
cd hello_world
mix test
Run "mix help" for more commands.
Mix uses the information defined in a Mix Project to compile, build, and assemble the application. By convention, this information is typically managed in an Elixir script file named mix.exs. The file may include version information, dependencies, and other configuration information.
As the Elixir build tool, Mix is used on applications that target the Erlang virtual machine (as opposed to the Java virtual machine or the .NET Common Language Runtime).[6] Mix is used with web applications built on the Phoenix framework.[7]