Elixir


Mix

¿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