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
,rebar
ormake
command: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 totrue
the 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