Mix (build tool)

Build automation software for Elixir

Mix

Original author(s)| Anthony Grimes
Initial release| 2012; 13 years ago (2012)
Stable release|

1.11.4 / 16 March 2021; 4 years ago (2021-03-16)[1]

Written in| Elixir
Platform| Erlang
Type| Build tool
License| Apache License 2.0[2]
Website| hexdocs.pm/mix/Mix.html

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 tasks

[edit]

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 projects

[edit]

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.

## Application

[edit]

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]

## See also

[edit]

* Free and open-source software portal

* List of build automation software
* Phoenix (web framework)

## References

[edit]

1. ^ "Releases - elixir-lang/elixir". Retrieved 25 April 2020 - via GitHub.
2. ^ "elixir/LICENSE at master · elixir-lang/elixir · GitHub". GitHub. 23 October 2022.
3. ^ "Technology Radar | Emerging Technology Trends for 2017 | ThoughtWorks". www.thoughtworks.com. Retrieved 2018-05-08.
4. ^ "Introduction to Mix". elixir-lang.github.com. Retrieved 2018-05-03.
5. ^ "Organising your Elixir project with Mix". Culttt. 2016-08-31. Retrieved 2018-05-03.
6. ^ "The Erlang Runtime System". happi.github.io. Retrieved 2018-05-03.
7. ^ "Mix Tasks · Phoenix". Phoenix. Retrieved 2018-05-03.

## External links

[edit]

* Official website
* Source code on GitHub

This software-engineering-related article is a stub. You can help Wikipedia by expanding it.

|

* v
* t
* e

*[v]: View this template
*[t]: Discuss this template
*[e]: Edit this template