Windows と Mac のアプリパッケージマネージャ


Linux の apt-get や yum、pacman などのパッケージマネージャになれると、Windows や Mac のアプリインストールがめんどくなります。
なんでこんなに[次へ]をクリックしなければならないんだと。。。EULA速読の記録に挑戦しているのかと。。。

そんな人のために、Windows や Mac のパッケージマネージャを使用してインストール方法をかんたんに紹介します。

## Windows パッケージマネージャ

**Scoop か Chocolatey の一騎打ち。**自分は、昔Chocolatey派で今Scoop派です。
それぞれ特徴があるので併用するのが良いかと思います。

### Scoop

自分のホームディレクトリ直下に `scoop` フォルダが作成され、そこにアプリや設定がまとめられます。
ポータブルアプリ化されているようなものなので、環境をあまり汚しません。
逆に言えば、Windows のお作法に則ったパッケージマネージャではないです。

導入については、丁寧にまとめられている記事があるので、初めての方はそちらを参照したほうが大変参考になります！
> Scoopを使ったWindows環境構築のススメ - Super!!
> https://qiita.com/Dooteeen/items/12dc8fb14042888113d0

CUI及びGUIアプリは、`scoop install (package)` でインストールできます。

```powershell
# Git
scoop install git

# Visual Studio Code (※追加tap必要)
scoop install vscode

# Microsoft Office 365 (※追加tap必要)
scoop install office-365-apps-np
```

### Chocolatey

Windowsのお作法に則ったアプリインストールしてくれます。
また、App StoreのようにGUIでアプリ管理できるツールも別途インストールできます。
scoop に比べてアプリ更新が遅い気がしますので、自分はサブで使っています。

導入については、丁寧にまとめられている記事があるので、初めての方はそちらを参照したほうが大変参考になります！
> Chocolateyを使った環境構築の時のメモ
> https://qiita.com/konta220/items/95b40b4647a737cb51aa

CUI及びGUIアプリは、`choco install -y (package)` でインストールできます。

```powershell
# Chocolatey GUI
choco install -y ChocolateyGUI

# Adobe Reader
choco install -y adobereader

# Visual Studio 2019 Community
choco install -y visualstudio2019community
```

~~2019年末に障害が発生したときは困った。。。~~

### winget

Microsoft 謹製のパッケージマネージャらしいです。今後に期待。

> Windows パッケージ マネージャー (プレビュー)
> https://docs.microsoft.com/ja-jp/windows/package-manager/


## Mac パッケージマネージャ

**Homebrew (& mas-cli) 一択！**
CUIアプリもGUIアプリも、Mac App Store アプリもすべてコマンドでインストールできます。

### Homebrew

導入については、丁寧にまとめられている記事があるので、初めての方はそちらを参照したほうが大変参考になります！
> Homebrewのインストール
> https://qiita.com/zaburo/items/29fe23c1ceb6056109fd

(CUI)アプリは、`brew install (package)` でインストールできます。

```zsh
# Tree
brew install tree

# AWS CLI
brew install aws-cli

# anyenv
brew install anyenv
```

### Homebrew Cask

Homebrew パッケージの一つ `Cask` でGUIアプリもインストールが可能です。
こちらも、丁寧にまとめられている記事がありますので、初めての方はそちらを参照したほうが大変参考になります！
> homebrew-caskとは
> https://qiita.com/swallowtail62/items/61244ea3c7d00f692823


昔は `Cask` も別途インストールが必要でしたが、今は Homebrew をインストールした時点で標準で入ってくるようです。
Homebrew さえインストールさえしていればすぐにGUIアプリのインストールもコマンドでできるようになります。
GUIインストール時は、` brew cask install (package) ` でインストールできます。

```zsh
# Visual Studio Code
brew cask install visual-studio-code

# Microsoft Office
brew cask install microsoft-office

# VirtualBox
brew cask install virtualbox
brew cask install virtualbox-extension-pack
```

### mas-cli

**Mac App Store のアプリすらコマンドでインストールできるツールです！**

こちらも、丁寧にまとめられている記事がありますので、初めての方はそちらを参照したほうが大変参考になります！
> macOSでのパッケージ管理
> https://qiita.com/takeshisakuma/items/e9685fb9e394212247c0

まずは Homebrew から `mas-cli` をインストールできます。

```zsh
# mas-cli
brew install mas
```

`mas-cli` を使って Mac App Store からアプリをインストールするときは、` mas install (packageID) ` です。
パッケージ名ではなくパッケージIDを指定するところが少し異なりますので注意が必要です。

```zsh
# Display Menu
mas install 549083868

# Twitter
mas install 409789998

# Xcode
mas install 497799835
```

### MacPorts

こちらもパッケージマネージャです。
自分は使っていません。Homebrew ですべて事足りるので。


## 最後に

パッケージマネージャでのアプリ管理は、コマンドリストをスクリプトに記録しておくことができるのが強みです。
アプリのインストール方法もコマンドを教えるだけで共有できるメリットもあります。
アプリのインストールがめんどいというきっかけでパッケージマネージャを使い始めましたが、使い始めるとそれを上回るメリットが多いように感じました。
Windows や Mac の標準機能でパッケージマネージャが整備されると、もっとみんな幸せになるのになーと思っています。

（そういえば昔はフロッピーディスクを何枚も入れ替えてソフトをインストールしていたなー）