Mix v1.1.1 Mix.Tasks.Deps
Lists all dependencies and their status.
Dependencies must be specified in the mix.exs file in one of
the following formats:
{app, requirement}
{app, opts}
{app, requirement, opts}
Where:
- app is an atom
- requirement is a version requirement or a regular expression
- opts is a keyword list of options
By default, dependencies are fetched using the Hex package manager:
{:plug, ">= 0.4.0"}
By specifying such dependencies, Mix will automatically install Hex (if it wasn’t previously installed and download a package suitable to your project).
Mix also supports git and path dependencies:
{:foobar, git: "https://github.com/elixir-lang/foobar.git", tag: "0.1"}
{:foobar, path: "path/to/foobar"}
And also in umbrella dependencies:
{:myapp, in_umbrella: true}
Path and in umbrella dependencies are automatically recompiled by
the parent project whenever they change. While fetchable dependencies
like the ones using :git are recompiled only when fetched/updated.
The dependencies versions are expected to follow Semantic Versioning
and the requirements must be specified as defined in the Version
module.
Below we provide a more detailed look into the available options.
Mix options
:app- when set tofalse, does not read the app file for this dependency:env- the environment to run the dependency on, defaults to :prod:compile- a command to compile the dependency, defaults to amix,rebarormakecommand:optional- the dependency is optional and used only to specify requirements:only- the dependency will belong only to the given environments, useful when declaring dev- or test-only dependencies:override- if set totruethe dependency will override any other definitions of itself by other dependencies
Git options (:git)
:git- the git repository URI:github- a shortcut for specifying git repos from github, usesgit::ref- the reference to checkout (may be a branch, a commit sha or a tag):branch- the git branch to checkout:tag- the git tag to checkout:submodules- whentrue, initialize submodules for the repo
Path options (:path)
:path- the path for the dependency:in_umbrella- whentrue, sets a path dependency pointing to “../#{app}”, sharing the same environment as the current application
Deps task
mix deps task lists all dependencies in the following format:
APP VERSION (SCM)
[locked at REF]
STATUS
It supports the following options:
--all- check all dependencies, regardless of specified environment
Summary
Functions
Callback implementation for Mix.Task.run/1