<!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>escript.install – 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.Escript.Install.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 escript.install <a href="https://github.com/elixir-lang/elixir/blob/v1.7.2/lib/mix/lib/mix/tasks/escript.install.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>Installs an escript locally.</p> <p>If no argument is supplied but there is an escript in the project’s root directory (created with <code class="inline">mix escript.build</code>), then the escript will be installed locally. For example:</p> <pre><code class="nohighlight makeup elixir"><span class="n">mix</span><span class="w"> </span><span class="k" data-group-id="9731294478-1">do</span><span class="w"> </span><span class="n">escript</span><span class="o">.</span><span class="n">build</span><span class="p">,</span><span class="w"> </span><span class="n">escript</span><span class="o">.</span><span class="n">install</span></code></pre> <p>If an argument is provided, it should be a local path or a URL to a prebuilt escript, a Git repository, a GitHub repository, or a Hex package.</p> <pre><code class="nohighlight makeup elixir"><span class="n">mix</span><span class="w"> </span><span class="n">escript</span><span class="o">.</span><span class="n">install</span><span class="w"> </span><span class="n">escript</span><span class="w"> </span><span class="n">mix</span><span class="w"> </span><span class="n">escript</span><span class="o">.</span><span class="n">install</span><span class="w"> </span><span class="n">path</span><span class="o">/</span><span class="n">to</span><span class="o">/</span><span class="n">escript</span><span class="w"> </span><span class="n">mix</span><span class="w"> </span><span class="n">escript</span><span class="o">.</span><span class="n">install</span><span class="w"> </span><span class="n">https</span><span class="ss">:/</span><span class="o">/</span><span class="n">example</span><span class="o">.</span><span class="n">com</span><span class="o">/</span><span class="n">my_escript</span><span class="w"> </span><span class="n">mix</span><span class="w"> </span><span class="n">escript</span><span class="o">.</span><span class="n">install</span><span class="w"> </span><span class="n">git</span><span class="w"> </span><span class="n">https</span><span class="ss">:/</span><span class="o">/</span><span class="n">path</span><span class="o">/</span><span class="n">to</span><span class="o">/</span><span class="n">git</span><span class="o">/</span><span class="n">repo</span><span class="w"> </span><span class="n">mix</span><span class="w"> </span><span class="n">escript</span><span class="o">.</span><span class="n">install</span><span class="w"> </span><span class="n">git</span><span class="w"> </span><span class="n">https</span><span class="ss">:/</span><span class="o">/</span><span class="n">path</span><span class="o">/</span><span class="n">to</span><span class="o">/</span><span class="n">git</span><span class="o">/</span><span class="n">repo</span><span class="w"> </span><span class="n">branch</span><span class="w"> </span><span class="n">git_branch</span><span class="w"> </span><span class="n">mix</span><span class="w"> </span><span class="n">escript</span><span class="o">.</span><span class="n">install</span><span class="w"> </span><span class="n">git</span><span class="w"> </span><span class="n">https</span><span class="ss">:/</span><span class="o">/</span><span class="n">path</span><span class="o">/</span><span class="n">to</span><span class="o">/</span><span class="n">git</span><span class="o">/</span><span class="n">repo</span><span class="w"> </span><span class="n">tag</span><span class="w"> </span><span class="n">git_tag</span><span class="w"> </span><span class="n">mix</span><span class="w"> </span><span class="n">escript</span><span class="o">.</span><span class="n">install</span><span class="w"> </span><span class="n">git</span><span class="w"> </span><span class="n">https</span><span class="ss">:/</span><span class="o">/</span><span class="n">path</span><span class="o">/</span><span class="n">to</span><span class="o">/</span><span class="n">git</span><span class="o">/</span><span class="n">repo</span><span class="w"> </span><span class="n">ref</span><span class="w"> </span><span class="n">git_ref</span><span class="w"> </span><span class="n">mix</span><span class="w"> </span><span class="n">escript</span><span class="o">.</span><span class="n">install</span><span class="w"> </span><span class="n">github</span><span class="w"> </span><span class="n">user</span><span class="o">/</span><span class="n">project</span><span class="w"> </span><span class="n">mix</span><span class="w"> </span><span class="n">escript</span><span class="o">.</span><span class="n">install</span><span class="w"> </span><span class="n">github</span><span class="w"> </span><span class="n">user</span><span class="o">/</span><span class="n">project</span><span class="w"> </span><span class="n">branch</span><span class="w"> </span><span class="n">git_branch</span><span class="w"> </span><span class="n">mix</span><span class="w"> </span><span class="n">escript</span><span class="o">.</span><span class="n">install</span><span class="w"> </span><span class="n">github</span><span class="w"> </span><span class="n">user</span><span class="o">/</span><span class="n">project</span><span class="w"> </span><span class="n">tag</span><span class="w"> </span><span class="n">git_tag</span><span class="w"> </span><span class="n">mix</span><span class="w"> </span><span class="n">escript</span><span class="o">.</span><span class="n">install</span><span class="w"> </span><span class="n">github</span><span class="w"> </span><span class="n">user</span><span class="o">/</span><span class="n">project</span><span class="w"> </span><span class="n">ref</span><span class="w"> </span><span class="n">git_ref</span><span class="w"> </span><span class="n">mix</span><span class="w"> </span><span class="n">escript</span><span class="o">.</span><span class="n">install</span><span class="w"> </span><span class="n">hex</span><span class="w"> </span><span class="n">hex_package</span><span class="w"> </span><span class="n">mix</span><span class="w"> </span><span class="n">escript</span><span class="o">.</span><span class="n">install</span><span class="w"> </span><span class="n">hex</span><span class="w"> </span><span class="n">hex_package</span><span class="w"> </span><span class="mf">1.2</span><span class="o">.</span><span class="mi">3</span></code></pre> <p>After installation, the escript can be invoked as</p> <pre><code class="nohighlight makeup elixir"><span class="err">~</span><span class="o">/</span><span class="o">.</span><span class="n">mix</span><span class="o">/</span><span class="n">escripts</span><span class="o">/</span><span class="n">foo</span></code></pre> <p>For convenience, consider adding <code class="inline">~/.mix/escripts</code> directory to your <code class="inline">PATH</code> environment variable. For more information, check the wikipedia article on PATH: https://en.wikipedia.org/wiki/PATH_(variable)</p> <h2 id="module-command-line-options" class="section-heading"> <a href="#module-command-line-options" class="hover-link"><span class="icon-link" aria-hidden="true"></span></a> Command line options </h2> <ul> <li><p><code class="inline">--sha512</code> - checks the escript matches the given SHA-512 checksum. Only applies to installations via URL or local path</p> </li> <li><p><code class="inline">--force</code> - forces installation without a shell prompt; primarily intended for automation in build systems like Make</p> </li> <li><p><code class="inline">--submodules</code> - fetches repository submodules before building escript from Git or GitHub</p> </li> <li><p><code class="inline">--app</code> - specifies a custom app name to be used for building the escript from Git, GitHub, or Hex</p> </li> <li><p><code class="inline">--organization</code> - specifies an organization to use if fetching the package from a private Hex repository</p> </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="#build/2">build(spec, opts)</a> </div> <div class="summary-synopsis"><p>Builds a local artifact either from a remote dependency or for the current project</p> </div> </div> <div class="summary-row"> <div class="summary-signature"> <a href="#check_install_spec/2">check_install_spec(_, _)</a> </div> <div class="summary-synopsis"><p>Checks that the <code class="inline">install_spec</code> and <code class="inline">opts</code> are supported by the respective module</p> </div> </div> <div class="summary-row"> <div class="summary-signature"> <a href="#find_previous_versions/1">find_previous_versions(basename)</a> </div> <div class="summary-synopsis"><p>Returns a list of already installed version of the same artifact</p> </div> </div> <div class="summary-row"> <div class="summary-signature"> <a href="#install/3">install(basename, binary, previous)</a> </div> <div class="summary-synopsis"><p>The installation itself</p> </div> </div> <div class="summary-row"> <div class="summary-signature"> <a href="#run/1">run(argv)</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="build/2"> <div class="detail-header"> <a href="#build/2" 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">build(spec, opts)</span> <a href="https://github.com/elixir-lang/elixir/blob/v1.7.2/lib/mix/lib/mix/tasks/escript.install.ex#L108" 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> <section class="docstring"> <p>Builds a local artifact either from a remote dependency or for the current project.</p> <p>Callback implementation for <code class="inline">c:Mix.Local.Installer.build/2</code>.</p> </section> </div> <div class="detail" id="check_install_spec/2"> <div class="detail-header"> <a href="#check_install_spec/2" 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">check_install_spec(_, _)</span> <a href="https://github.com/elixir-lang/elixir/blob/v1.7.2/lib/mix/lib/mix/tasks/escript.install.ex#L78" 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> <section class="docstring"> <p>Checks that the <code class="inline">install_spec</code> and <code class="inline">opts</code> are supported by the respective module.</p> <p>Callback implementation for <code class="inline">c:Mix.Local.Installer.check_install_spec/2</code>.</p> </section> </div> <div class="detail" id="find_previous_versions/1"> <div class="detail-header"> <a href="#find_previous_versions/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">find_previous_versions(basename)</span> <a href="https://github.com/elixir-lang/elixir/blob/v1.7.2/lib/mix/lib/mix/tasks/escript.install.ex#L80" 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> <section class="docstring"> <p>Returns a list of already installed version of the same artifact.</p> <p>Callback implementation for <code class="inline">c:Mix.Local.Installer.find_previous_versions/1</code>.</p> </section> </div> <div class="detail" id="install/3"> <div class="detail-header"> <a href="#install/3" 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">install(basename, binary, previous)</span> <a href="https://github.com/elixir-lang/elixir/blob/v1.7.2/lib/mix/lib/mix/tasks/escript.install.ex#L85" 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> <section class="docstring"> <p>The installation itself.</p> <p>Callback implementation for <code class="inline">c:Mix.Local.Installer.install/3</code>.</p> </section> </div> <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(argv)</span> <a href="https://github.com/elixir-lang/elixir/blob/v1.7.2/lib/mix/lib/mix/tasks/escript.install.ex#L72" 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> <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>