MacBook AirにHomebrewとHomebrew-caskをインストールしてみる。

##目標

MacBook AirにHomebrewとHomebrew-caskをインストールしてみる。

Linux初心者です。諸般の事情によりMacを使うことになったのでいろいろやってみてます
今回はパッケージマネージャーなるものをインストールします
 (2019/08/12時点)

##参考にさせて頂いたページ
[macOS用パッケージマネージャ「Homebrew 2.0」リリース。LinuxとWSL（Windows Subsystem for Linux）にも正式対応](https://www.publickey1.jp/blog/19/macoshomebrew_20linuxwslwindows_subsystem_for_linux.html)
[Homebrew のインストールと基本的な使い方](https://yu8mada.com/2018/04/12/homebrew-s-installation-and-basic-usage/)
[Homebrewのインストールから操作まで](https://qiita.com/krtsato/items/ba567acacb93a7a02dd9)
[Homebrew-caskでMacのGUIアプリケーション管理](https://www.task-notes.com/entry/20150129/1422459342)
[xcodeインストールのxcodebuildの確認でエラーで対応したログ](https://qiita.com/yuzukaki/items/3c691957e5f7ffc829d5)
[homebrew-caskがErrorになると思ったら本家に移行してた](https://qiita.com/emonuh/items/5dc518a64e6ca722b08a)
[homebrew-caskとは](https://qiita.com/swallowtail62/items/61244ea3c7d00f692823)

##準備
- OSのバージョン
  - macOS Mojave v10.14.6
   
- Macメモ
  - Deleteボタンがないので、前方削除は fn+⇦(バックスペース)キー

##HomebrewとHomebrew-cask
 - そもそも[Homebrew](https://brew.sh/2019/02/02/homebrew-2.0.0/)とはなんだ
   - macOS用パッケージマネージャです
   - これを使うとインストールしたいアプリを、ダウンロードページに行って、"zip"とかをダウンロードして、フォルダに配置して、解凍して、設定とかいろいろして・・・　といった作業をターミナルからコマンドラインで済ませる事ができるそうな
   - 要はLinuxに詳しい同僚が「コマンド1行でインストールできるんすよ。」とドヤ顔で言っていたアレだ
     - RedHat 系　→　`yum`,`rpm`
     - Debian 系　→　`apt-get`,`apt-cache`,`dpkg`
   - つまりは、コマンドライン系のアプリのインストール・アンインストール・アップデートとかの管理ツール
 - では、[Homebrew-cask](https://github.com/Homebrew/homebrew-cask)とはなんだ
   - HomebrewをGUIアプリも同じようにコマンドラインから管理できるようにした拡張したものらしい
   - これを使うとインストールしたいアプリを、ダウンロードページに行って、"zip"とか"dmg"ファイルをダウンロードして、クリックして、立ち上がってきた画面のアイコンをまたクリックして・・・　といった作業をターミナルからコマンドラインで済ませる事ができるそうな

##Command Line Toolsのインストール
 - Homebrewをインストールするには、Xcode か Command Line Tools for Xcode があらかじめインストールされている必要があるらしい
 - [前の投稿](https://qiita.com/DiceYellowhouse/items/6ddce3e3fcb39cd0f97a)でNVMをインストールした時にCommand Line Tools for Xcodeは勝手に入ってしまったのでもう入ってる
 - インストールする場合は以下のコマンドでインストールウィザードが立ち上がってくるとのこと

```
$ xcode-select --install
```
 - で、ちゃんと入ってるか確認

```
$ xcode-select --version
xcode-select version 2354.
```

 - あと確認方法としては、
   - ディスプレイ左上の林檎をクリック
   - "このMacについて" をクリック
   - Macの情報画面が起ち上がってくるので、「概要」タブの"システムレポート..."ボタンをクリック
   - 画面左のナビゲーションツリーの下の方の"ソフトウェア"の配下にある"インストール" をクリック
   - これまでMacにインストールされたソフトウェアのリストが表示されている
   - Command Line Tools (macOS Mojave version 10.14) for Xcode　発見
   - インストールされている場所は

```
$ xcode-select -p
/Library/Developer/CommandLineTools
```

- そうです。あれです。きっとルートの下にあるはずです

```
$ cd /
$ ls -al
...
drwxr-xr-x+ 64 root       wheel    2048  8  8 15:39 Library
...
```
 - "Library"発見

```
$ cd Library
$ ls -al
...
drwxr-xr-x    3 root  admin    96  7 13 13:23 Developer
...
```
 - "Developer"発見

```
$ cd Developer
$ ls -al
...
drwxr-xr-x   6 root  admin   192  8  8 15:38 CommandLineTools
...
```

 - いました! 
 - つまり`(ルート)/Library/Developer/CommandLineTools` という事です
  
##Homebrewのインストール

 - Homebrewをインストールします
 - 何も考えずに以下のコマンドを実行
 - 怖いので一応ホームに戻る

```
$ cd #
$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
```
 - MacにはデフォルトでRubyがインストールされているので、"https://..."の場所にあるインストーラーをcurlで持ってきてRubyで実行。。。という事だろう。きっと

```
Press RETURN to continue or any other key to abort
==> /usr/bin/sudo /bin/chmod u+rwx /usr/local/bin
Password:
```
 - 途中でパスワード聞かれた
 - Macへのログインパスワードで通った
  
```
==> Next steps:
- Run `brew help` to get started
- Further documentation: 
    https://docs.brew.sh
```

 - たぶん無事終了
 - 確認です

```
$ brew --version
Homebrew 2.1.10
Homebrew/homebrew-core (git revision c7c5; last commit 2019-08-11)
```

##Homebrew-caskインストール
 - 以下のコマンドだけでOKらしいです

```
$ brew tap caskroom/cask
```

 - 確認です

```
$ brew tap 
caskroom/cask
homebrew/cask
homebrew/core
```
 - これで合ってるのか。。。。?
 - 他の確認方法

```
$ brew cask
Homebrew Cask provides a friendly CLI workflow for the administration
of macOS applications distributed as binaries.

Commands:

    --cache    display the file used to cache the Cask
    audit      verifies installability of Casks
    cat        dump raw source of the given Cask to the standard output
    create     creates the given Cask and opens it in an editor
    doctor     checks for configuration issues
    edit       edits the given Cask
    fetch      downloads remote application files to local cache
    home       opens the homepage of the given Cask
    info       displays information about the given Cask
    install    installs the given Cask
    list       with no args, lists installed Casks; given installed Casks, lists staged files
    outdated   list the outdated installed Casks
    reinstall  reinstalls the given Cask
    style      checks Cask style using RuboCop
    uninstall  uninstalls the given Cask
    upgrade    upgrades all outdated casks
    zap        zaps all files associated with the given Cask

See also "man brew-cask"
```
  - 一応、brew-caskは入っているようです
  - Atomをインストールしてみる

```
$ brew cask install atom
==> Satisfying dependencies
==> Downloading https://github.com/atom/atom/releases/download/v1.39.1/atom-mac.
==> Downloading from https://github-production-release-asset-2e65be.s3.amazonaws
######################################################################## 100.0%
==> Verifying SHA-256 checksum for Cask 'atom'.
==> Installing Cask atom
==> Moving App 'Atom.app' to '/Applications/Atom.app'.
==> Linking Binary 'apm' to '/usr/local/bin/apm'.
==> Linking Binary 'atom.sh' to '/usr/local/bin/atom'.
🍺  atom was successfully installed!
```

 - Lanchpadをクリックして中を覗くと、ありましたAtom
 - 成功です

###(注意)以下の実行は必要ないです。失敗メモです

 - Homebrew-caskをインストールします
 - 今さっきインストールしたHomebrewを使うみたいです

```
$ brew install caskroom/cask/brew-cask
...
==> Tapping caskroom/cask
...
==> brew cask install caskroom/cask/brew-cask
==> Tapping homebrew/cask
...
...
Error: Cask 'brew-cask' is unavailable: '/usr/local/Homebrew/Library/Taps/caskroom/homebrew-cask/Casks/brew-cask.rb' does not exist.
```

 - エラーです　orz
 - `/usr/local/Homebrew/Library/Taps/caskroom/homebrew-cask/Casks/` に"brew-cask.rb"が無いと言われているようです
 - 行ってみます
 - ここで発見　ダイレクトに行けるみたい

```
$ cd /usr/local/Homebrew/Library/Taps/caskroom/homebrew-cask/Casks/
$ ls -al
```

 - 確かにありません
 - ググったら、なんかHomebrew本体に統合されたらしい。。。orz
 - 強制的なアンインストールします

```
$ brew uninstall --force brew-cask; brew update
```

 - んで、代わりに以下のコマンドを実行しておきます。

```
$ brew tap caskroom/cask
```
 - わけがわかりません。が、とりあえずHomebrewはインストールできたようです。

##おわりに
結局わけがわからないままHomebrewとHomebrew-caskインストール終了です。
Linuxの奥深さを感じとほうにくれています。

Windowsユーザーのみなさんの参考になればと思います。