blob: 2bd25e69100e2c09a600e1a8eab7bdcf522774a6 [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">
<!-- This is broken by doc revisioning.
-->
<link rel="shortcut icon" href="../../img/favicon.ico">
<title>Install Newtmgr On Mac OS - Apache Mynewt</title>
<link href="../../css/bootstrap-3.0.3.min.css" rel="stylesheet">
<link rel="stylesheet" href="../../css/highlight.css">
<link href="../../css/base.css" rel="stylesheet">
<link href="../../css/custom.css" rel="stylesheet">
<link href="../../css/v2.css" rel="stylesheet">
<link href="https://fonts.googleapis.com/css?family=Lato" rel="stylesheet">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css">
<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
<script src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script>
<![endif]-->
<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="Install Newtmgr On Mac OS">
<div class="container">
<div class="row v2-main-banner">
<a class="logo-cell" href="/">
<img class="logo" src="/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.12.0, Apache NimBLE 1.7.0 </a> released (April 4, 2024)
</div>
</div>
</div>
</div>
<nav id="navbar" class="navbar navbar-inverse affix-top" data-spy="affix" data-offset-top="150" 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
class=""
>
<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
class=""
>
<a href="/about/">About</a>
</li>
<li
class=""
>
<a href="/talks/">Talks</a>
</li>
<li
class="active"
>
<a href="/documentation/">Documentation</a>
</li>
<li
class=""
>
<a href="/download/">Download</a>
</li>
<li
class=""
>
<a href="/community/">Community</a>
</li>
<li
class=""
>
<a href="/events/">Events</a>
</li>
</ul>
</div>
</div>
</nav>
<div class="container">
<div class="row">
<div class="col-md-3 v2-sidebar sidebar-container"><div id="docSidebar" class="hidden-print" role="complementary">
<div class="top">
<div role="search">
<form id="rtd-search-form" class="wy-form" action="../../search.html" method="get">
<div class="form-group">
<input type="text" name="q" class="form-control" placeholder="Search documentation" />
</div>
</form>
</div>
</div>
<ul class="toc-nav">
<li class="doc-version"><select class="form-control" onchange="if (this.value) window.location.href=this.value">
<option value="/latest">
Version: master
</option>
<option value="/v1_12_0/" >
Version: 1.12.0
</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" selected="selected" >
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></li>
<li ><a href="../../os/introduction/">Mynewt Documentation</a>
<ul>
<li ><a href="../../os/get_started/get_started/">Basic Setup</a>
</li>
<li >
<a href="../../os/get_started/vocabulary/">Concepts</a>
</li>
<li ><a href="../../os/tutorials/tutorials/">Tutorials</a>
</li>
<li ><a href="../../os/os_user_guide/">OS User Guide</a>
</li>
<li><a href="
../../network/ble/ble_intro/
">BLE User Guide</a>
</li>
<li ><a href="../../newt/newt_intro/">Newt Tool Guide</a>
</li>
<li ><a href="../overview/">Newt Manager Guide</a>
<ul>
<li><a href="
../command_list/newtmgr_config/
">Command Guide</a>
</li>
<li><a href="
./
">Install</a>
<ul>
<li class="active">
<a href="./">Install Newtmgr On Mac OS</a>
</li>
<li >
<a href="../install_linux/">Install Newtmgr On Linux</a>
</li>
<li >
<a href="../install_windows/">Install Newtmgr On Windows</a>
</li>
</ul>
</li>
</ul>
</li>
<li >
<a href="../../known_issues/">Known Issues</a>
</li>
</ul>
</li>
<li><a href="
../../faq/go_env/
">Appendix</a>
</li>
</ul>
</div></div>
<div class="col-md-9" role="main">
<div class="doc-header">
<div role="navigation" aria-label="breadcrumbs navigation">
<ul class="wy-breadcrumbs">
<li><a href="/documentation/">Docs</a></li>
<li>&raquo; Install</li>
<li>&raquo; <a href="newtmgr/overview/">Newt Manager Guide</a></li>
<li>&raquo; <a href="os/introduction/">Mynewt Documentation</a></li>
<li>&raquo; Install Newtmgr On Mac OS</li>
<li class="wy-breadcrumbs-aside">
<a href="https://github.com/apache/mynewt-site/blob/master/docs/newtmgr/install_mac.md"
class="icon icon-github"> Edit on GitHub</a>
</li>
</ul>
</div>
</div>
<div class="alert alert-warning">
<p>
Version 1.1.0 is not the most recent version of the Apache Mynewt
documentation. Click <a href="/latest">here</a> to read the latest
version.
</p>
</div>
<h2 id="installing-newtmgr-on-mac-os">Installing Newtmgr on Mac OS</h2>
<p>Newtmgr is supported on Mac OS X 64 bit platforms and has been tested on Mac OS 10.10 and higher.</p>
<p>This page shows you how to install the following versions of newtmgr:</p>
<ul>
<li>Upgrade to or install the latest release version (1.1.0).</li>
<li>Install earlier release versions.</li>
<li>Install the latest from the master branch (unstable).</li>
</ul>
<p><strong>Note:</strong> If you would like to contribute to the newtmgr tool, see <a href="/faq/go_env">Setting Up Go Environment to Contribute to Newt and Newtmgr Tools</a>.</p>
<h3 id="adding-the-mynewt-homebrew-tap">Adding the Mynewt Homebrew Tap</h3>
<p>You should have added the <strong>runtimeco/homebrew-mynewt</strong> tap when you installed the <strong>newt</strong> tool. Run the following commands if you have not done so:</p>
<div class="codehilite" style="background: #ffffff"><pre style="line-height: 125%;"><span></span><code>$ brew tap runtimeco/homebrew-mynewt
$ brew update
</code></pre></div>
<h3 id="upgrading-to-or-installing-the-latest-release-version">Upgrading to or Installing the Latest Release Version</h3>
<p>Perform the following to upgrade or install the latest release version of newtmgr (1.1.0).</p>
<h4 id="upgrading-to-the-latest-release-version-of-newtmgr">Upgrading to the Latest Release Version of Newtmgr</h4>
<p>If you previously installed newtmgr 1.0.0 using brew, run the following commands to upgrade to newtmgr 1.1.0:</p>
<div class="codehilite" style="background: #ffffff"><pre style="line-height: 125%;"><span></span><code>$ brew update
$ brew upgrade mynewt-newtmgr
</code></pre></div>
<p><br></p>
<h4 id="installing-the-latest-release-version-of-newtmgr">Installing the Latest Release Version of Newtmgr</h4>
<p>Run the following command to install the latest release version (1.1.0) of newtmgr:</p>
<div class="codehilite" style="background: #ffffff"><pre style="line-height: 125%;"><span></span><code>$ brew update
$ brew install mynewt-newtmgr
==&gt; Installing mynewt-newtmgr from runtimeco/mynewt
==&gt; Downloading https://github.com/runtimeco/binary-releases/raw/master/mynewt-newt-tools_1.1.0/mynewt-newtmgr-1.1.0.sierra.bottle.tar.gz
==&gt; Downloading from https://raw.githubusercontent.com/runtimeco/binary-releases/master/mynewt-newt-tools_1.1.0/mynewt-newtmgr-1.1.0.sierra.bottle.tar.gz
######################################################################## 100.0%
==&gt; Pouring mynewt-newtmgr-1.1.0.sierra.bottle.tar.gz
🍺 /usr/local/Cellar/mynewt-newtmgr/1.1.0: 3 files, 17MB
</code></pre></div>
<p><br>
<strong>Notes:</strong> Homebrew bottles for newtmgr 1.1.0 are available for Mac OS Sierra, El Captian and Yosemite. If you are running an earlier version of Mac OS, the installation will install the latest version of Go and compile newtmgr locally.</p>
<p><br></p>
<h3 id="checking-the-installed-version">Checking the Installed Version</h3>
<p>Check that you are using the installed version of newtmgr:</p>
<div class="codehilite" style="background: #ffffff"><pre style="line-height: 125%;"><span></span><code>$which newtmgr
/usr/local/bin/newtmgr
ls -l /usr/local/bin/newtmgr
lrwxr-xr-x 1 user staff 42 Jul 25 21:15 /usr/local/bin/newtmgr -&gt; ../Cellar/mynewt-newtmgr/1.1.0/bin/newtmgr
</code></pre></div>
<p><strong>Note:</strong> If you previously built newtmgr from source and the output of <code>which newtmgr</code> shows "$GOPATH/bin/newtmgr", you will need to move "$GOPATH/bin" after "/usr/local/bin" for your PATH in ~/.bash_profile, and source ~/.bash_profile.</p>
<p><br>
Get information about newtmgr:</p>
<div class="codehilite" style="background: #ffffff"><pre style="line-height: 125%;"><span></span><code>$ newtmgr help
Usage:
newtmgr [flags]
newtmgr [command]
Available Commands:
config Read or write a config value on a device
conn Manage newtmgr connection profiles
crash Send a crash command to a device
datetime Manage datetime on a device
echo Send data to a device and display the echoed back data
fs Access files on a device
help Help about any command
image Manage images on a device
log Manage logs on a device
mpstat Read mempool statistics from a device
reset Perform a soft reset of a device
run Run test procedures on a device
stat Read statistics from a device
taskstat Read task statistics from a device
Flags:
-c, --conn string connection profile to use
-h, --help help for newtmgr
-l, --loglevel string log level to use (default &quot;info&quot;)
--name string name of target BLE device; overrides profile setting
-t, --timeout float timeout in seconds (partial seconds allowed) (default 10)
-r, --tries int total number of tries in case of timeout (default 1)
Use &quot;newtmgr [command] --help&quot; for more information about a command.
</code></pre></div>
<p><br></p>
<h3 id="installing-earlier-release-versions-of-newtmgr">Installing Earlier Release Versions of Newtmgr</h3>
<p>If you want to install newtmgr 1.0, run the following commands:</p>
<div class="codehilite" style="background: #ffffff"><pre style="line-height: 125%;"><span></span><code>$ brew update
$ brew install mynewt-newtmgr@1.0
</code></pre></div>
<p><strong>Note:</strong> This is a keg-only installation. newt 1.0 is installed in /usr/local/Cellar/mynewt-newtmgr@1.0/1.0.0/bin but not symlinked into /usr/local/bin. </p>
<p>If you need this version of newt first in your PATH, run the following commands:</p>
<div class="codehilite" style="background: #ffffff"><pre style="line-height: 125%;"><span></span><code>$ echo &#39;export PATH=/usr/local/Cellar/mynewt-newtmgr@1.0/1.0.0/bin:$PATH&#39; &gt;&gt; ~/.bash_profile
$ source ~/.bash_profile
</code></pre></div>
<p><br>
You can also manually symlink into /usr/local/bin as follows:</p>
<ol>
<li>
<p>Unlink newtmgr if you have the latest version of newt installed:</p>
<div class="codehilite" style="background: #ffffff"><pre style="line-height: 125%;"><span></span><code>$ brew unlink mynewt-newtmgr
</code></pre></div>
</li>
<li>
<p>Link mynewt-newt@1.0 into /usr/local/bin:</p>
<div class="codehilite" style="background: #ffffff"><pre style="line-height: 125%;"><span></span><code>$ brew link -f mynewt-newt@1.0
</code></pre></div>
</li>
</ol>
<p><br></p>
<h3 id="installing-newtmgr-from-the-master-branch">Installing Newtmgr from the Master Branch</h3>
<p>We recommend that you use the latest release version (1.1.0) of newtmgr. If you would like to use the master branch with the latest updates, you can install newtmgr from the HEAD of the master branch. </p>
<p>** Notes: **</p>
<ul>
<li>The master branch may be unstable.</li>
<li>This installation will install the latest version of Go on your computer, if it is not installed, and compile newtmgr locally. </li>
</ul>
<p><br>
If you already installed newtgmr, unlink the current version:</p>
<div class="codehilite" style="background: #ffffff"><pre style="line-height: 125%;"><span></span><code>$brew unlink mynewt-newtmgr
</code></pre></div>
<p><br>
Install the latest unstable version of newtmgr from the master branch:</p>
<div class="codehilite" style="background: #ffffff"><pre style="line-height: 125%;"><span></span><code>$brew install mynewt-newtmgr --HEAD
==&gt; Installing mynewt-newtmgr from runtimeco/mynewt
==&gt; Cloning https://github.com/apache/mynewt-newtmgr.git
Cloning into &#39;/Users/wanda/Library/Caches/Homebrew/mynewt-newtmgr--git&#39;...
remote: Counting objects: 650, done.
remote: Compressing objects: 100% (511/511), done.
remote: Total 650 (delta 192), reused 345 (delta 114), pack-reused 0
Receiving objects: 100% (650/650), 4.67 MiB | 4.58 MiB/s, done.
Resolving deltas: 100% (192/192), done.
==&gt; Checking out branch master
==&gt; go get github.com/currantlabs/ble
==&gt; go get github.com/raff/goble
==&gt; go get github.com/mgutz/logxi/v1
==&gt; go install
🍺 /usr/local/Cellar/mynewt-newtmgr/HEAD-7bdd773: 3 files, 17MB, built in 22 seconds
</code></pre></div>
<p><br>
To switch back to the latest stable release version (1.1.0) of newtmgr, you can run:</p>
<div class="codehilite" style="background: #ffffff"><pre style="line-height: 125%;"><span></span><code>$brew switch mynewt-newtmgr 1.1.0
Cleaning /usr/local/Cellar/mynewt-newtmgr/1.1.0
Cleaning /usr/local/Cellar/mynewt-newtmgr/HEAD-7bdd773
1 links created for /usr/local/Cellar/mynewt-newtmgr/1.1.0
</code></pre></div>
<p><br></p>
<div class="row">
<ul class="nav nav-pills" style="margin-bottom: 10px">
<li>
</li>
<li class="pull-right">
</li>
</ul>
</div>
<footer 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">
<a href="https://www.apache.org/">
<img src="/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
</a>
<p>
Copyright © 2015-2021 The Apache Software Foundation.<br>
<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>
</p>
<a href="">
<img src="https://www.countit.com/images/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
</a>
</div>
</div>
<a href="https://www.apache.org/licenses/">
<button class="button-footer-asf">
License
</button>
</a>
<a href="https://www.apache.org/foundation/sponsorship.html">
<button class="button-footer-asf">
Sponsorship
</button>
</a>
<a href="https://www.apache.org/foundation/thanks.html">
<button class="button-footer-asf">
Thanks
</button>
</a>
<a href="https://www.apache.org/security/">
<button class="button-footer-asf">
Security
</button>
</a>
<a href="https://apache.org/events/current-event">
<button class="button-footer-asf">
ASF Events
</button>
</a>
</footer>
</div>
</div>
</div>
<script src="../../js/jquery-1.10.2.min.js"></script>
<script src="../../js/bootstrap-3.0.3.min.js"></script>
<script src="../../js/highlight.pack.js"></script>
<script src="../../js/base.js"></script>
<script src="../../js/custom.js"></script>
<script src="search/main.js"></script>
</body>
</html>