blob: 889a8cd5a0284a4613e0e636ec630e2d54540ead [file] [log] [blame]
<!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">
<title>Installing Newt on macOS &mdash; Apache Mynewt latest documentation</title>
<link rel="shortcut icon" href="../../_static/mynewt-logo-only-newt32x32.png"/>
<link rel="stylesheet" href="../../_static/css/theme.css" type="text/css" />
<link rel="stylesheet" href="../../_static/css/sphinx_theme.css" type="text/css" />
<link rel="stylesheet" href="../../_static/css/bootstrap-3.0.3.min.css" type="text/css" />
<link rel="stylesheet" href="../../_static/css/v2.css" type="text/css" />
<link rel="stylesheet" href="../../_static/css/custom.css" type="text/css" />
<link rel="stylesheet" href="../../_static/css/restructuredtext.css" type="text/css" />
<link rel="stylesheet" href="../../_static/css/overrides.css" type="text/css" />
<link rel="index" title="Index"
href="../../genindex.html"/>
<link rel="search" title="Search" href="../../search.html"/>
<link rel="top" title="Apache Mynewt latest documentation" href="../../index.html"/>
<link rel="up" title="Native Installation" href="../../get_started/native_install/index.html"/>
<link rel="next" title="Installing Newt on Linux" href="newt_linux.html"/>
<link rel="prev" title="Native Installation" href="../../get_started/native_install/index.html"/>
<script src="../../_static/js/modernizr.min.js"></script>
<script>
(function(i, s, o, g, r, a, m) {
i["GoogleAnalyticsObject"] = r;
(i[r] =
i[r] ||
function() {
(i[r].q = i[r].q || []).push(arguments);
}),
(i[r].l = 1 * new Date());
(a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
a.async = 1;
a.src = g;
m.parentNode.insertBefore(a, m);
})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");
ga("create", "UA-72162311-1", "auto");
ga("send", "pageview");
</script>
</head>
<body class="not-front page-documentation" role="document" >
<div id="wrapper">
<div class="container">
<div id="banner" class="row v2-main-banner">
<a class="logo-cell" href="/">
<img class="logo" src="../../_static/img/logo.png">
</a>
<div class="tagline-cell">
<h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
</div>
<div class="news-cell">
<div class="well">
<h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.11.0, Apache NimBLE 1.6.0 </a> released September 7, 2023)
</div>
</div>
</div>
</div>
<header>
<nav id="navbar" class="navbar navbar-inverse" role="navigation">
<div class="container">
<!-- Collapsed navigation -->
<div class="navbar-header">
<!-- Expander button -->
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
</div>
<!-- Expanded navigation -->
<div class="navbar-collapse collapse">
<!-- Main navigation -->
<ul class="nav navbar-nav navbar-right">
<li>
<a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
</li>
<li class="important">
<a href="/quick-start/">Quick Start</a>
</li>
<li>
<a href="/about/">About</a>
</li>
<li>
<a href="/talks/">Talks</a>
</li>
<li class="active">
<a href="/documentation/">Documentation</a>
</li>
<li>
<a href="/download/">Download</a>
</li>
<li>
<a href="/community/">Community</a>
</li>
<li>
<a href="/events/">Events</a>
</li>
</ul>
<!-- Search, Navigation and Repo links -->
<ul class="nav navbar-nav navbar-right">
</ul>
</div>
</div>
</nav>
</header>
<!-- STARTS MAIN CONTENT -->
<div id="main-content">
<div id="breadcrumb">
<div class="container">
<a href="/documentation/">Docs</a> /
<a href="../../get_started/index.html">Setup &amp; Get Started</a> /
<a href="../../get_started/native_install/index.html">Native Installation</a> /
Installing Newt on macOS
<div class="sourcelink">
<a href="https://github.com/apache/mynewt-newt/edit/master/docs/install/newt_mac.rst" class="icon icon-github"
rel="nofollow"> Edit on GitHub</a>
</div>
</div>
</div>
<!-- STARTS CONTAINER -->
<div class="container">
<!-- STARTS .content -->
<div id="content" class="row">
<!-- STARTS .container-sidebar -->
<div class="container-sidebar col-xs-12 col-sm-3">
<div id="docSidebar" class="sticky-container">
<div role="search" class="sphinx-search">
<form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
<input type="text" name="q" placeholder="Search documentation" class="search-documentation" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
<!-- Note: only works when deployed -->
<select class="form-control" onchange="if (this.value) window.location.href=this.value">
<option value="/latest" selected>
Version: latest
</option>
<option value="/v1_11_0" >
Version: 1.11.0
</option>
<option value="/v1_10_0" >
Version: 1.10.0
</option>
<option value="/v1_9_0" >
Version: 1.9.0
</option>
<option value="/v1_8_0" >
Version: 1.8.0
</option>
<option value="/v1_7_0" >
Version: 1.7.0
</option>
<option value="/v1_6_0" >
Version: 1.6.0
</option>
<option value="/v1_5_0" >
Version: 1.5.0
</option>
<option value="/v1_4_0" >
Version: 1.4.0
</option>
<option value="/v1_3_0/os/introduction" >
Version: 1.3.0
</option>
<option value="/v1_2_0/os/introduction" >
Version: 1.2.0
</option>
<option value="/v1_1_0/os/introduction" >
Version: 1.1.0
</option>
<option value="/v1_0_0/os/introduction" >
Version: 1.0.0
</option>
<option value="/v0_9_0/os/introduction" >
Version: 0.9.0
</option>
</select>
<div class="region region-sidebar">
<div class="docs-menu">
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="../../index.html">Introduction</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../get_started/index.html">Setup &amp; Get Started</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../concepts.html">Concepts</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../tutorials/tutorials.html">Tutorials</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../external_links.html">Third-party Resources</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../os/os_user_guide.html">OS User Guide</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../network/index.html">BLE User Guide</a></li>
<li class="toctree-l1 current"><a class="reference internal" href="../index.html">Newt Tool Guide</a><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="../newt_operation.html">Theory of Operations</a></li>
<li class="toctree-l2"><a class="reference internal" href="../newt_ops.html">Command Structure</a></li>
<li class="toctree-l2 current"><a class="reference internal" href="index.html">Install</a><ul class="current">
<li class="toctree-l3 current"><a class="current reference internal" href="#">Installing Newt on macOS</a></li>
<li class="toctree-l3"><a class="reference internal" href="newt_linux.html">Installing Newt on Linux</a></li>
<li class="toctree-l3"><a class="reference internal" href="newt_windows.html">Installing Newt on Windows</a></li>
<li class="toctree-l3"><a class="reference internal" href="prev_releases.html">Installing Previous Releases of Newt</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../../newtmgr/index.html">Newt Manager Guide</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../mynewt_faq/index.html">Mynewt FAQ</a></li>
<li class="toctree-l1"><a class="reference internal" href="../../misc/index.html">Appendix</a></li>
</ul>
</div>
</div>
</div>
<!-- ENDS STICKY CONTAINER -->
</div>
<!-- ENDS .container-sidebar -->
<div class="col-xs-12 col-sm-9">
<div class="">
<div class="rst-content">
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
<div itemprop="articleBody">
<div class="section" id="installing-newt-on-macos">
<h1>Installing Newt on macOS<a class="headerlink" href="#installing-newt-on-macos" title="Permalink to this headline"></a></h1>
<p>Newt is supported on macOS 64 bit platforms and has been tested on
macOS 10.12 and higher.</p>
<p>This page shows you how to:</p>
<ul class="simple">
<li><p>Upgrade to or install the latest release version of newt.</p></li>
<li><p>Install the latest newt from the master branch (unstable).</p></li>
</ul>
<p>See <a class="reference internal" href="prev_releases.html"><span class="doc">Installing Previous Releases of Newt</span></a> to install an earlier version of newt.</p>
<p><strong>Note:</strong> If you would like to contribute to the newt tool, see <a class="reference internal" href="../../misc/go_env.html"><span class="doc">Setting Up Go Environment to Contribute
to Newt and Newtmgr Tools</span></a>.</p>
<div class="section" id="installing-homebrew">
<h2>Installing Homebrew<a class="headerlink" href="#installing-homebrew" title="Permalink to this headline"></a></h2>
<p>If you do not have Homebrew installed, run the following command. You
will be prompted for your sudo password.</p>
<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$ </span>/bin/bash<span class="w"> </span>-c<span class="w"> </span><span class="s2">&quot;</span><span class="k">$(</span>curl<span class="w"> </span>-fsSL<span class="w"> </span>https://raw.githubusercontent.com/Homebrew/install/master/install.sh<span class="k">)</span><span class="s2">&quot;</span>
</pre></div>
</div>
<p>You can also extract (or <code class="docutils literal notranslate"><span class="pre">git</span> <span class="pre">clone</span></code>) Homebrew and install it to
/usr/local.</p>
</div>
<div class="section" id="adding-the-mynewt-homebrew-tap">
<h2>Adding the Mynewt Homebrew Tap<a class="headerlink" href="#adding-the-mynewt-homebrew-tap" title="Permalink to this headline"></a></h2>
<p>If this is your first time installing newt, add the <strong>JuulLabs-OSS/mynewt</strong>
tap:</p>
<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$ </span>brew<span class="w"> </span>tap<span class="w"> </span>JuulLabs-OSS/mynewt
<span class="go">==&gt; Tapping juullabs-oss/mynewt</span>
<span class="go">Cloning into &#39;/usr/local/Homebrew/Library/Taps/juullabs-oss/homebrew-mynewt&#39;...</span>
<span class="go">remote: Enumerating objects: 16, done.</span>
<span class="go">remote: Counting objects: 100% (16/16), done.</span>
<span class="go">remote: Compressing objects: 100% (13/13), done.</span>
<span class="go">remote: Total 16 (delta 12), reused 3 (delta 3), pack-reused 0</span>
<span class="go">Unpacking objects: 100% (16/16), done.</span>
<span class="go">Tapped 14 formulae (52 files, 51.9KB).</span>
<span class="gp">$ </span>brew<span class="w"> </span>update
</pre></div>
</div>
</div>
<div class="section" id="upgrading-to-or-installing-the-latest-release-version">
<h2>Upgrading to or Installing the Latest Release Version<a class="headerlink" href="#upgrading-to-or-installing-the-latest-release-version" title="Permalink to this headline"></a></h2>
<p>Perform the following to upgrade or install the latest release version
of newt.</p>
<p><strong>Note:</strong> The homebrew tap used to live under <code class="docutils literal notranslate"><span class="pre">runtimeco/mynewt</span></code>, and
although updating should still work, if the tap stops pulling in the latest
releases, please try removing the old tap and adding the new one:</p>
<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$ </span>brew<span class="w"> </span>untap<span class="w"> </span>runtimeco/mynewt
<span class="gp">$ </span>brew<span class="w"> </span>tap<span class="w"> </span>JuulLabs-OSS/mynewt
</pre></div>
</div>
<div class="section" id="upgrading-to-the-latest-release-version-of-newt">
<h3>Upgrading to the Latest Release Version of Newt<a class="headerlink" href="#upgrading-to-the-latest-release-version-of-newt" title="Permalink to this headline"></a></h3>
<p>If you previously installed newt using brew, run the following
commands to upgrade to newt latest:</p>
<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$ </span>brew<span class="w"> </span>update
<span class="gp">$ </span>brew<span class="w"> </span>upgrade<span class="w"> </span>mynewt-newt
<span class="go">==&gt; Upgrading 1 outdated package, with result:</span>
<span class="go">juullabs-oss/mynewt/mynewt-newt 1.5.0</span>
<span class="go">==&gt; Upgrading juullabs-oss/mynewt/mynewt-newt</span>
<span class="go">==&gt; Downloading https://github.com/juullabs-oss/binary-releases/raw/master/mynewt-newt-tools_1.5.0/mynewt-newt-1.5.0.sierra.bottle.tar.gz</span>
<span class="go">==&gt; Downloading from https://raw.githubusercontent.com/juullabs-oss/binary-releases/master/mynewt-newt-tools_1.5.0/mynewt-newt-1.5.0.sierra.bottle.tar.gz</span>
<span class="gp">#</span><span class="c1">####################################################################### 100.0%</span>
<span class="go">==&gt; Pouring mynewt-newt-1.5.0.sierra.bottle.tar.gz</span>
<span class="go">🍺 /usr/local/Cellar/mynewt-newt/1.5.0: 3 files, 8.1MB</span>
</pre></div>
</div>
</div>
<div class="section" id="installing-the-latest-release-version-of-newt">
<h3>Installing the Latest Release Version of Newt<a class="headerlink" href="#installing-the-latest-release-version-of-newt" title="Permalink to this headline"></a></h3>
<p>Run the following command to install the latest release version of newt:</p>
<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$ </span>brew<span class="w"> </span>update
<span class="gp">$ </span>brew<span class="w"> </span>install<span class="w"> </span>mynewt-newt
<span class="go">==&gt; Installing mynewt-newt from juullabs-oss/mynewt</span>
<span class="go">==&gt; Downloading https://github.com/juullabs-oss/binary-releases/raw/master/mynewt-newt-tools_1.5.0/mynewt-newt-1.5.0.sierra.bottle</span>
<span class="go">==&gt; Downloading from https://raw.githubusercontent.com/JuulLabs-OSS/binary-releases/master/mynewt-newt-tools_1.5.0/mynewt-newt-</span>
<span class="gp">#</span><span class="c1">####################################################################### 100.0%</span>
<span class="go">==&gt; Pouring mynewt-newt-1.5.0.sierra.bottle.tar.gz</span>
<span class="go">🍺 /usr/local/Cellar/mynewt-newt/1.5.0: 3 files, 8.1MB</span>
</pre></div>
</div>
<p><strong>Notes:</strong> Homebrew bottles for newt are available for macOS Sierra. If you are running an earlier version of macOS,
the installation will install the latest version of Go and compile newt locally.</p>
</div>
</div>
<div class="section" id="checking-the-installed-version">
<h2>Checking the Installed Version<a class="headerlink" href="#checking-the-installed-version" title="Permalink to this headline"></a></h2>
<p>Check that you are using the installed version of newt:</p>
<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$ </span>which<span class="w"> </span>newt
<span class="go">/usr/local/bin/newt</span>
<span class="gp">$ </span>newt<span class="w"> </span>version
<span class="go">Apache Newt version: 1.5.0</span>
</pre></div>
</div>
<p><strong>Note:</strong> If you previously built newt from source and the output of
<code class="docutils literal notranslate"><span class="pre">which</span> <span class="pre">newt</span></code> shows
“$GOPATH/bin/newt”, you will need to move “$GOPATH/bin” after
“/usr/local/bin” for your PATH in ~/.bash_profile, and source
~/.bash_profile.</p>
<p>Get information about newt:</p>
<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$ </span>newt<span class="w"> </span><span class="nb">help</span>
<span class="go">Newt allows you to create your own embedded application based on the Mynewt</span>
<span class="go">operating system. Newt provides both build and package management in a single</span>
<span class="go">tool, which allows you to compose an embedded application, and set of</span>
<span class="go">projects, and then build the necessary artifacts from those projects. For more</span>
<span class="go">information on the Mynewt operating system, please visit</span>
<span class="go">https://mynewt.apache.org/.</span>
<span class="go">Please use the newt help command, and specify the name of the command you want</span>
<span class="go">help for, for help on how to use a specific command</span>
<span class="go">Usage:</span>
<span class="go"> newt [flags]</span>
<span class="go"> newt [command]</span>
<span class="go">Examples:</span>
<span class="go"> newt</span>
<span class="go"> newt help [&lt;command-name&gt;]</span>
<span class="go"> For help on &lt;command-name&gt;. If not specified, print this message.</span>
<span class="go">Available Commands:</span>
<span class="go"> build Build one or more targets</span>
<span class="go"> clean Delete build artifacts for one or more targets</span>
<span class="go"> create-image Add image header to target binary</span>
<span class="go"> debug Open debugger session to target</span>
<span class="go"> help Help about any command</span>
<span class="go"> info Show project info</span>
<span class="go"> install Install project dependencies</span>
<span class="go"> load Load built target to board</span>
<span class="go"> mfg Manufacturing flash image commands</span>
<span class="go"> new Create a new project</span>
<span class="go"> pkg Create and manage packages in the current workspace</span>
<span class="go"> resign-image Re-sign an image.</span>
<span class="go"> run build/create-image/download/debug &lt;target&gt;</span>
<span class="go"> size Size of target components</span>
<span class="go"> sync Synchronize project dependencies</span>
<span class="go"> target Commands to create, delete, configure, and query targets</span>
<span class="go"> test Executes unit tests for one or more packages</span>
<span class="go"> upgrade Upgrade project dependencies</span>
<span class="go"> vals Display valid values for the specified element type(s)</span>
<span class="go"> version Display the Newt version number</span>
<span class="go">Flags:</span>
<span class="go"> -h, --help Help for newt commands</span>
<span class="go"> -j, --jobs int Number of concurrent build jobs (default 4)</span>
<span class="go"> -l, --loglevel string Log level (default &quot;WARN&quot;)</span>
<span class="go"> -o, --outfile string Filename to tee output to</span>
<span class="go"> -q, --quiet Be quiet; only display error output</span>
<span class="go"> -s, --silent Be silent; don&#39;t output anything</span>
<span class="go"> -v, --verbose Enable verbose output when executing commands</span>
<span class="go">Use &quot;newt [command] --help&quot; for more information about a command.</span>
</pre></div>
</div>
</div>
<div class="section" id="installing-newt-from-the-master-branch">
<h2>Installing Newt from the Master Branch<a class="headerlink" href="#installing-newt-from-the-master-branch" title="Permalink to this headline"></a></h2>
<p>We recommend that you use the latest release version of newt. If
you would like to use the master branch with the latest updates, you can
install newt from the HEAD of the master branch.</p>
<p><strong>Notes:</strong></p>
<ul class="simple">
<li><p>The master branch may be unstable.</p></li>
<li><p>This installation will install the latest version of Go on your
computer, if it is not installed, and compile newt locally.</p></li>
</ul>
<p>If you previously installed newt using brew, unlink the current
version. Depending on your previous newt version you may have to also uninstall newt.</p>
<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$ </span>brew<span class="w"> </span>unlink<span class="w"> </span>mynewt-newt
<span class="gp">$ </span>brew<span class="w"> </span>uninstall<span class="w"> </span>mynewt-newt
</pre></div>
</div>
<p>Install the latest unstable version of newt from the master branch:</p>
<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$ </span>brew<span class="w"> </span>install<span class="w"> </span>mynewt-newt<span class="w"> </span>--HEAD
</pre></div>
</div>
<p>To switch back to the latest stable release version of newt,
you can run:</p>
<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$ </span>brew<span class="w"> </span>switch<span class="w"> </span>mynewt-newt<span class="w"> </span><span class="m">1</span>.5.0
</pre></div>
</div>
</div>
</div>
</div>
</div>
<div class="rst-footer-buttons row" role="navigation" aria-label="footer navigation">
<a href="newt_linux.html" class="btn btn-neutral float-right" title="Installing Newt on Linux" accesskey="n">Next: Installing Newt on Linux <span class="fa fa-arrow-circle-right"></span></a>
<a href="../../get_started/native_install/index.html" class="btn btn-neutral" title="Native Installation" accesskey="p"><span class="fa fa-arrow-circle-left"></span> Previous: Native Installation</a>
</div>
</div>
</div>
</div>
<!-- ENDS CONTENT SECTION -->
</div>
<!-- ENDS .content -->
</div>
</div>
<footer>
<div class="container">
<div class="row">
<div class="col-xs-12">
<p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
</div>
<div class="col-xs-12">
<div class="logos">
<img src="../../_static/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
<small class="footnote">
Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either
registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
</small>
<a href="">
<img src="../../_static/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
</a>
</div>
</div>
</div>
</div>
</footer>
</div>
<!-- ENDS #wrapper -->
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT:'../../',
VERSION:'latest',
COLLAPSE_INDEX:false,
FILE_SUFFIX:'.html',
HAS_SOURCE: true,
SOURCELINK_SUFFIX: '.txt',
LINK_SUFFIX: '.html'
};
</script>
<script type="text/javascript" src="../../_static/jquery.js"></script>
<script type="text/javascript" src="../../_static/underscore.js"></script>
<script type="text/javascript" src="../../_static/doctools.js"></script>
<script type="text/javascript" src="../../_static/js/bootstrap-3.0.3.min.js"></script>
<script type="text/javascript" src="../../_static/js/affix.js"></script>
<script type="text/javascript" src="../../_static/js/main.js"></script>
</body>
</html>