Sophie

Sophie

distrib > Mageia > 7 > i586 > media > core-release > by-pkgid > 016232f1d9a3f7bee85855d35a2bca58 > files > 235

elixir-doc-1.7.2-1.mga7.noarch.rpm

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="x-ua-compatible" content="ie=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta name="generator" content="ExDoc v0.19.1">
    <title>deps – Mix v1.7.2</title>
    <link rel="stylesheet" href="dist/app-240d7fc7e5.css" />
      <link rel="canonical" href="https://hexdocs.pm/mix/v1.7/Mix.Tasks.Deps.html" />
    <script src="dist/sidebar_items-0c0044e6e4.js"></script>
    
  </head>
  <body data-type="tasks">
    <script>try { if(localStorage.getItem('night-mode')) document.body.className += ' night-mode'; } catch (e) { }</script>
    <div class="main">
<button class="sidebar-button sidebar-toggle">
  <span class="icon-menu" aria-hidden="true"></span>
  <span class="sr-only">Toggle Sidebar</span>
</button>
<button class="sidebar-button night-mode-toggle">
  <span class="icon-theme" aria-hidden="true"></span>
  <span class="sr-only">Toggle Theme</span>
</button>
<section class="sidebar">

  <a href="http://elixir-lang.org/docs.html" class="sidebar-projectLink">
    <div class="sidebar-projectDetails">
      <h1 class="sidebar-projectName">
Mix      </h1>
      <h2 class="sidebar-projectVersion">
        v1.7.2
      </h2>
    </div>
      <img src="assets/logo.png" alt="Mix" class="sidebar-projectImage">
  </a>

  <form class="sidebar-search" action="search.html">
    <button type="submit" class="search-button">
      <span class="icon-search" aria-hidden="true"></span>
    </button>
    <input name="q" type="text" id="search-list" class="search-input" placeholder="Search" aria-label="Search" autocomplete="off" />
  </form>

  <ul class="sidebar-listNav">
    <li><a id="extras-list" href="#full-list">Pages</a></li>

      <li><a id="modules-list" href="#full-list">Modules</a></li>

      <li><a id="exceptions-list" href="#full-list">Exceptions</a></li>

      <li><a id="tasks-list" href="#full-list">Mix Tasks</a></li>
  </ul>
  <div class="gradient"></div>
  <ul id="full-list" class="sidebar-fullList"></ul>
</section>

<section class="content">
  <div class="content-outer">
    <div id="content" class="content-inner">


      <h1>
        <small class="visible-xs">Mix v1.7.2</small>
mix deps        
          <a href="https://github.com/elixir-lang/elixir/blob/v1.7.2/lib/mix/lib/mix/tasks/deps.ex#L1" title="View Source" class="view-source" rel="help">
            <span class="icon-code" aria-hidden="true"></span>
            <span class="sr-only">View Source</span>
          </a>
      </h1>


        <section id="moduledoc">
<p>Lists all dependencies and their status.</p>
<p>Dependencies must be specified in the <code class="inline">mix.exs</code> file in one of
the following formats:</p>
<pre><code class="nohighlight makeup elixir"><span class="p" data-group-id="9380001603-1">{</span><span class="n">app</span><span class="p">,</span><span class="w"> </span><span class="n">requirement</span><span class="p" data-group-id="9380001603-1">}</span><span class="w">
</span><span class="p" data-group-id="9380001603-2">{</span><span class="n">app</span><span class="p">,</span><span class="w"> </span><span class="n">opts</span><span class="p" data-group-id="9380001603-2">}</span><span class="w">
</span><span class="p" data-group-id="9380001603-3">{</span><span class="n">app</span><span class="p">,</span><span class="w"> </span><span class="n">requirement</span><span class="p">,</span><span class="w"> </span><span class="n">opts</span><span class="p" data-group-id="9380001603-3">}</span></code></pre>
<p>Where:</p>
<ul>
<li>app is an atom
</li>
<li>requirement is a <a href="https://hexdocs.pm/elixir/Version.html"><code class="inline">Version</code></a> requirement or a regular expression
</li>
<li>opts is a keyword list of options
</li>
</ul>
<p>For example:</p>
<pre><code class="nohighlight makeup elixir"><span class="p" data-group-id="0228052310-1">{</span><span class="ss">:plug</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;&gt;= 0.4.0&quot;</span><span class="p" data-group-id="0228052310-1">}</span><span class="w">
</span><span class="p" data-group-id="0228052310-2">{</span><span class="ss">:gettext</span><span class="p">,</span><span class="w"> </span><span class="ss">git</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;https://github.com/elixir-lang/gettext.git&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">tag</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;0.1&quot;</span><span class="p" data-group-id="0228052310-2">}</span><span class="w">
</span><span class="p" data-group-id="0228052310-3">{</span><span class="ss">:local_dependency</span><span class="p">,</span><span class="w"> </span><span class="ss">path</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;path/to/local_dependency&quot;</span><span class="p" data-group-id="0228052310-3">}</span></code></pre>
<p>By default, dependencies are fetched using the <a href="https://hex.pm/">Hex package manager</a>:</p>
<pre><code class="nohighlight makeup elixir"><span class="p" data-group-id="0232316729-1">{</span><span class="ss">:plug</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;&gt;= 0.4.0&quot;</span><span class="p" data-group-id="0232316729-1">}</span></code></pre>
<p>By specifying such dependencies, Mix will automatically install
Hex (if it wasn’t previously installed) and download a package
suitable to your project.</p>
<p>Mix also supports Git and path dependencies:</p>
<pre><code class="nohighlight makeup elixir"><span class="p" data-group-id="1395059652-1">{</span><span class="ss">:foobar</span><span class="p">,</span><span class="w"> </span><span class="ss">git</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;https://github.com/elixir-lang/foobar.git&quot;</span><span class="p">,</span><span class="w"> </span><span class="ss">tag</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;0.1&quot;</span><span class="p" data-group-id="1395059652-1">}</span><span class="w">
</span><span class="p" data-group-id="1395059652-2">{</span><span class="ss">:foobar</span><span class="p">,</span><span class="w"> </span><span class="ss">path</span><span class="p">:</span><span class="w"> </span><span class="s">&quot;path/to/foobar&quot;</span><span class="p" data-group-id="1395059652-2">}</span></code></pre>
<p>And also in umbrella dependencies:</p>
<pre><code class="nohighlight makeup elixir"><span class="p" data-group-id="6445249877-1">{</span><span class="ss">:my_app</span><span class="p">,</span><span class="w"> </span><span class="ss">in_umbrella</span><span class="p">:</span><span class="w"> </span><span class="no">true</span><span class="p" data-group-id="6445249877-1">}</span></code></pre>
<p>Path and in umbrella dependencies are automatically recompiled by
the parent project whenever they change. While fetchable dependencies,
like the ones using <code class="inline">:git</code>, are recompiled only when fetched/updated.</p>
<p>The dependencies’ versions are expected to be formatted according to
Semantic Versioning and the requirements must be specified as defined
in the <a href="https://hexdocs.pm/elixir/Version.html"><code class="inline">Version</code></a> module.</p>
<h2 id="module-options" class="section-heading">
  <a href="#module-options" class="hover-link"><span class="icon-link" aria-hidden="true"></span></a>
  Options
</h2>

<p>Below we provide a more detailed look into the available options.</p>
<h3 id="module-dependency-definition-options" class="section-heading">
  <a href="#module-dependency-definition-options" class="hover-link"><span class="icon-link" aria-hidden="true"></span></a>
  Dependency definition options
</h3>

<ul>
<li><p><code class="inline">:app</code> - when set to <code class="inline">false</code>, does not read the app file for this
dependency. By default, the app file is read</p>
</li>
<li><p><code class="inline">:env</code> - the environment (as an atom) to run the dependency on; defaults to <code class="inline">:prod</code></p>
</li>
<li><p><code class="inline">:compile</code> - a command (string) to compile the dependency; defaults to a <code class="inline">mix</code>,
<code class="inline">rebar</code> or <code class="inline">make</code> command</p>
</li>
<li><p><code class="inline">:optional</code> - marks the dependency as optional. In such cases, the
current project will always include the optional dependency but any
other project that depends on the current project won’t be forced to
use the optional dependency. However, if the other project includes
the optional dependency on its own, the requirements and options
specified here will also be applied.</p>
</li>
<li><p><code class="inline">:only</code> - the dependency is made available only in the given environments,
useful when declaring dev- or test-only dependencies; by default the
dependency will be available in all environments. The value of this option
can either be a single environment (like <code class="inline">:dev</code>) or a list of environments
(like <code class="inline">[:dev, :test]</code>)</p>
</li>
<li><p><code class="inline">:override</code> - if set to <code class="inline">true</code> the dependency will override any other
definitions of itself by other dependencies</p>
</li>
<li><p><code class="inline">:manager</code> - Mix can also compile Rebar, Rebar3 and makefile projects
and can fetch sub dependencies of Rebar and Rebar3 projects. Mix will
try to infer the type of project but it can be overridden with this
option by setting it to <code class="inline">:mix</code>, <code class="inline">:rebar3</code>, <code class="inline">:rebar</code> or <code class="inline">:make</code>. In case
there are conflicting definitions, the first manager in the list above
will be picked up. For example, if a dependency is found with <code class="inline">:rebar3</code>
and <code class="inline">:rebar</code> managers in different part of the trees, <code class="inline">:rebar3</code> will
be automatically picked. You can find the manager by running <code class="inline">mix deps</code>
and override it by setting the <code class="inline">:override</code> option in a top-level project.</p>
</li>
<li><p><code class="inline">:runtime</code> - whether the dependency is part of runtime applications.
Defaults to <code class="inline">true</code> which automatically adds the application to the list
of apps that are started automatically and included in releases</p>
</li>
</ul>
<h3 id="module-git-options-git" class="section-heading">
  <a href="#module-git-options-git" class="hover-link"><span class="icon-link" aria-hidden="true"></span></a>
  Git options (<code class="inline">:git</code>)
</h3>

<ul>
<li><code class="inline">:git</code> - the Git repository URI
</li>
<li><code class="inline">:github</code> - a shortcut for specifying Git repos from GitHub, uses <code class="inline">git:</code>
</li>
<li><code class="inline">:ref</code> - the reference to checkout (may be a branch, a commit SHA or a tag)
</li>
<li><code class="inline">:branch</code> - the Git branch to checkout
</li>
<li><code class="inline">:tag</code> - the Git tag to checkout
</li>
<li><code class="inline">:submodules</code> - when <code class="inline">true</code>, initialize submodules for the repo
</li>
<li><code class="inline">:sparse</code> - checkout a single directory inside the Git repository and use it
as your Mix dependency. Search “sparse git checkouts” for more information.
</li>
</ul>
<p>If your Git repository requires authentication, such as basic username:password
HTTP authentication via URLs, it can be achieved via Git configuration, keeping
the access rules outside of source control.</p>
<pre><code class="nohighlight makeup elixir"><span class="n">git</span><span class="w"> </span><span class="n">config</span><span class="w"> </span><span class="o">--</span><span class="n">global</span><span class="w"> </span><span class="n">url</span><span class="o">.</span><span class="s">&quot;https://YOUR_USER:YOUR_PASS@example.com/&quot;</span><span class="o">.</span><span class="n">insteadOf</span><span class="w"> </span><span class="s">&quot;https://example.com/&quot;</span></code></pre>
<p>For more information, see the <code class="inline">git config</code> documentation:
https://git-scm.com/docs/git-config#git-config-urlltbasegtinsteadOf</p>
<h3 id="module-path-options-path" class="section-heading">
  <a href="#module-path-options-path" class="hover-link"><span class="icon-link" aria-hidden="true"></span></a>
  Path options (<code class="inline">:path</code>)
</h3>

<ul>
<li><code class="inline">:path</code>        - the path for the dependency
</li>
<li><code class="inline">:in_umbrella</code> - when <code class="inline">true</code>, sets a path dependency pointing to
“../#{app}”, sharing the same environment as the current application
</li>
</ul>
<h3 id="module-hex-options-hex" class="section-heading">
  <a href="#module-hex-options-hex" class="hover-link"><span class="icon-link" aria-hidden="true"></span></a>
  Hex options (<code class="inline">:hex</code>)
</h3>

<p>See the <a href="https://hex.pm/docs/usage">Hex usage documentation</a> for Hex options.</p>
<h2 id="module-deps-task" class="section-heading">
  <a href="#module-deps-task" class="hover-link"><span class="icon-link" aria-hidden="true"></span></a>
  Deps task
</h2>

<p><code class="inline">mix deps</code> task lists all dependencies in the following format:</p>
<pre><code class="nohighlight makeup elixir"><span class="nc">APP</span><span class="w"> </span><span class="nc">VERSION</span><span class="w"> </span><span class="p" data-group-id="7405519155-1">(</span><span class="nc">SCM</span><span class="p" data-group-id="7405519155-1">)</span><span class="w"> </span><span class="p" data-group-id="7405519155-2">(</span><span class="nc">MANAGER</span><span class="p" data-group-id="7405519155-2">)</span><span class="w">
</span><span class="p" data-group-id="7405519155-3">[</span><span class="n">locked</span><span class="w"> </span><span class="n">at</span><span class="w"> </span><span class="nc">REF</span><span class="p" data-group-id="7405519155-3">]</span><span class="w">
</span><span class="nc">STATUS</span></code></pre>
<p>It supports the following options:</p>
<ul>
<li><code class="inline">--all</code> - checks all dependencies, regardless of specified environment
</li>
</ul>
        </section>

        <section id="summary" class="details-list">
          <h1 class="section-heading">
            <a class="hover-link" href="#summary">
              <span class="icon-link" aria-hidden="true"></span>
              <span class="sr-only">Link to this section</span>
            </a>
            Summary
          </h1>
          
  <div class="summary-functions summary">
    <h2>
      <a href="#functions">Functions</a>
    </h2>
<div class="summary-row">
  <div class="summary-signature">
    <a href="#run/1">run(args)</a>
  </div>
    <div class="summary-synopsis"><p>A task needs to implement <code class="inline">run</code> which receives
a list of command line args</p>
</div>
</div>
  </div>
          
        </section>



        <section id="functions" class="details-list">
          <h1 class="section-heading">
            <a class="hover-link" href="#functions">
              <span class="icon-link" aria-hidden="true"></span>
              <span class="sr-only">Link to this section</span>
            </a>
            Functions
          </h1>
<div class="detail" id="run/1">
    <div class="detail-header">
    <a href="#run/1" class="detail-link" title="Link to this function">
      <span class="icon-link" aria-hidden="true"></span>
      <span class="sr-only">Link to this function</span>
    </a>
    <span class="signature">run(args)</span>
      <a href="https://github.com/elixir-lang/elixir/blob/v1.7.2/lib/mix/lib/mix/tasks/deps.ex#L143" class="view-source" rel="help" title="View Source">
       <span class="icon-code" aria-hidden="true"></span>
       <span class="sr-only">View Source</span>
     </a>
        
      <div class="specs">
          <pre>run(<a href="https://hexdocs.pm/elixir/OptionParser.html#t:argv/0">OptionParser.argv</a>()) :: :ok</pre>
      </div>
  </div>
  <section class="docstring">
<p>A task needs to implement <code class="inline">run</code> which receives
a list of command line args.</p>
<p>Callback implementation for <a href="Mix.Task.html#c:run/1"><code class="inline">Mix.Task.run/1</code></a>.</p>
  </section>
</div>
        </section>

          <footer class="footer">
        <p>
          <span class="line">
            Built using
            <a href="https://github.com/elixir-lang/ex_doc" title="ExDoc" target="_blank" rel="help noopener">ExDoc</a> (v0.19.1),
          </span>
          <span class="line">
            designed by
            <a href="https://twitter.com/dignifiedquire" target="_blank" rel="noopener" title="@dignifiedquire">Friedel Ziegelmayer</a>.
            </span>
        </p>
      </footer>
    </div>
  </div>
</section>
</div>
  <script src="dist/app-a0c90688fa.js"></script>
  
  </body>
</html>