2015-09-20 23:47:42 +00:00
# mas-cli
2015-09-20 23:55:58 +00:00
A simple command line interface for the Mac App Store. Designed for scripting
and automation.
2015-09-20 23:47:42 +00:00
## Install
2016-05-05 18:09:47 +00:00
[Homebrew ](https://brew.sh ) is the preferred way to install:
2015-09-20 23:47:42 +00:00
2016-05-05 18:09:47 +00:00
brew install mas
2015-09-20 23:47:42 +00:00
2016-05-05 18:09:47 +00:00
Alternatively, binaries are available in the [GitHub Releases ](https://github.com/argon/mas/releases )
2015-09-20 23:47:42 +00:00
## Usage
Each application in the Mac App Store has a product identifier which is also
2015-09-20 23:55:58 +00:00
used for mas-cli commands. Using `mas list` will show all installed
applications and their product identifiers.
2015-09-20 23:47:42 +00:00
$ mas list
446107677 Screens
407963104 Pixelmator
497799835 Xcode
2016-04-17 00:26:52 +00:00
It is possible to search for applications by name using `mas search` which
will search the Mac App Store and return matching identifiers
2016-04-20 13:35:58 +00:00
$ mas search Xcode
2016-04-17 00:26:52 +00:00
497799835 Xcode
688199928 Docs for Xcode
449589707 Dash 3 - API Docs & Snippets. Integrates with Xcode, Alfred, TextWrangler and many more.
[...]
To install or update an application simply run `mas install` with an
application identifier:
2015-09-20 23:47:42 +00:00
$ mas install 808809998
==> Downloading PaintCode 2
==> Installed PaintCode 2
Use `mas outdated` to list all applications with pending updates.
$ mas outdated
497799835 Xcode (7.0)
446107677 Screens VNC - Access Your Computer From Anywhere (3.6.7)
2015-12-30 21:03:45 +00:00
To install all pending updates run `mas upgrade` .
$ mas upgrade
Upgrading 2 outdated applications:
Xcode (7.0), Screens VNC - Access Your Computer From Anywhere (3.6.7)
==> Downloading Xcode
==> Installed Xcode
==> Downloading iFlicks
==> Installed iFlicks
2016-02-14 01:42:18 +00:00
To sign into the Mac App Store for the first time run `mas signin` .
2016-06-08 20:23:55 +00:00
$ mas signin mas@example.com
==> Signing in to Apple ID: mas@example.com
Password:
You can also embed your password in the command.
2016-02-14 01:42:18 +00:00
$ mas signin mas@example.com "ZdkM4f$gzF;gX3ABXNLf8KcCt.x.np"
==> Signing in to Apple ID: mas@example.com
Use `mas signout` to sign out from the Mac App Store.
2016-06-15 11:29:01 +00:00
### tmux
`mas` operates via the same system services as the Mac App Store. These exist as separate processes with communication through XPC. As a result of this, `mas` experiences similar problems as the pasteboard when running inside `tmux` . A [wrapper tool exists ](https://github.com/ChrisJohnsen/tmux-MacOSX-pasteboard ) to fix pasteboard behaviour which also works for `mas` .
You should consider configuring `tmux` to use the wrapper but if you do not wish to do this it can be used on a one-off basis as follows:
```
$ brew install reattach-to-user-namespace
$ reattach-to-user-namespace mas install
```
2015-12-30 21:45:36 +00:00
## Build from source
`mas` currently requires the [bundler ](http://bundler.io/ ) RubyGem in order to
bootstrap and build the project. There are a number ways to install bundler but
if you have never used it before then installing it with `gem` should be enough.
```
$ gem install bundler
```
You can now bootstrap the project by executing the `bootstrap` script
from the mas sources script directory:
```
$ script/bootstrap
```
You can now build from Xcode by opening `mas-cli.xcodeproj` , or from the Terminal:
```
$ script/build
```
Build output can be found in the `build/` directory within the project.
2015-09-20 23:47:42 +00:00
## License
2016-05-05 18:09:47 +00:00
Code is under the [MIT license ](LICENSE ).