¿Qué es mix ?
Mix en es una herramienta bastante importante en elixir ya que será como nuestro asistente, mix nos permitirá crear proyectos, será una parte importante a la hora de administrar nuestras dependencias, correr tareas, hacer test, así como otras cosas. Mix es muy importante a la hora de llevar proyectos grandes, donde vamos a querer usar ese proyecto con todos sus submódulos como uno solo. Mix ya viene instalado en elixir, así que no tendremos que descargar nada más para poder usarlo.
Con mix podremos involucrar dependencias de terceros como el manejador de paquetes de hex de una manera más sencilla y eficiente.
Para crear un nuevo proyecto en mix solo tenemos que escribir el siguiente comando en la terminal.
$ mix new nombre
Esto hará que mix cree un proyecto con todos los archivos necesarios para el desarrollo de la aplicación.
* creating README.md
* creating .formatter.exs
* creating .gitignore
* creating mix.exs
* creating lib
* creating lib/nombre.ex
* creating test
* creating test/test_helper.exs
* creating test/nombre_test.exs
Your Mix project was created successfully.
You can use "mix" to compile it, test it, and more:
cd nombre
mix test
Run "mix help" for more commands.
Abrimos nuestro nuestro proyecto en el editor y nos vamos a la carpeta con el nombre mix.exs
.
defmodule Nombre.MixProject do
use Mix.Project
def project do
[
app: :nombre,
version: "0.1.0",
elixir: "~> 1.11",
start_permanent: Mix.env() == :prod,
deps: deps()
]
end
# Run "mix help compile.app" to learn about applications.
def application do
[
extra_applications: [:logger]
]
end
# Run "mix help deps" to learn about dependencies.
defp deps do
[
# {:dep_from_hexpm, "~> 0.3.0"},
# {:dep_from_git, git: "https://github.com/elixir-lang/my_dep.git", tag: "0.1.0"}
]
end
end
Dependencias
En esta parte podremos ver el nombre de nuestra aplicación, la versión de nuestra aplicación y las dependencias. Si quieres agregar una, su nombre debe ser un átomo.
defp deps do
[
# {:dep_from_hexpm, "~> 0.3.0"},
# {:dep_from_git, git: "https://github.com/elixir-lang/my_dep.git", tag: "0.1.0"}
]
end
Si ya tenemos las dependencias agregadas, las necesitamos obtener de alguna manera y para eso usamos mix.
$ mix deps.get