Macをクリーンして開発環境を整える Ver.Catalina

##  はじめに

CatalinaにバージョンアップしたMacbookAir 2018向けのセットアップ記事になります。


簡単に言うと[この記事](https://qiita.com/hikaruright/items/aec5517be38382cae8d2)のCatalina対応版です。

## Xcode

Homebrewの関係で結局CommandLineToolが必要になるので、
必要なら先にインストールをしてしまう。

[AppStore - Xcode](https://apps.apple.com/jp/app/xcode/id497799835?mt=12)

ただし、全部で7GBあり結構長いので、
暇がなければインストールを進めつつ次に進んだ方が早いです。

## zshのカスタマイズ

Catalinaはデフォルトでzshなのでそのまま使用。
設定は気に入っている[zshrc](https://gist.github.com/mollifier/4979906)があるのでそれを適用してそのまま使う。

```shell
% curl https://gist.githubusercontent.com/mollifier/4979906/raw/43d1c77344dd59fa119ca5b75e7a54e01e668710/zshrc_useful.sh -o .zshrc
% source .zshrc
```

なお、以降の作業で.zshrcの編集を行った場合、適宜以下のコマンドでリロードしよう

```shell
% source .zshrc
```

### なんかエラーが出た

以下の警告が出てしまった場合

```shell
zsh compinit: insecure directories, run compaudit for list.
Ignore insecure directories and continue [y] or abort compinit [n]? y
```

~~以下のサイトを参考に設定変更。
https://qiita.com/ayihis@github/items/88f627b2566d6341a741~~


@Qiita_yamamura さんから頂いた情報を元に変更。
compinitのチェックをしないようにするようです。
(sedのスマートな置換方法があったら誰か教えてください。。。)

```
$ sed -i '' -e "s/compinit/compinit -C/g" .zshrc
$ sed -i '' -e "s/-Uz compinit -C/-Uz compinit/g" .zshrc
```

以下のコマンドを再度打ち込んで、何も聞かれなかったらOK。

```
% source .zshrc
```

## Homebrew

Mac向けのパッケージマネージャーの決定版とも言えるHomebrewをセットアップします。

### Homebrewのインストール

```shell
% /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
```

### Homebrew caskのインストール

本来、Homebrewはコマンドラインのパッケージしかインストールできませんが、
Homebrew caskを導入することで、GUIのツールをインストールできるようになります。

```
% brew cask list
```

## 便利ツールを入れていく

### Chrome

```
% brew cask install google-chrome
```

### Git

```shell
% brew install git
% brew cask install sourcetree
```

インストール時の指示に従って.zshrcに追記。

```shell:.zshrc
export PATH="/usr/local/opt/gettext/bin:$PATH"
```

### Emacs

```shell
% brew cask install emacs
```

### Docker

```shell
% brew install docker
% brew cask install docker
```

## 開発環境を入れていく

### Node.js

Node.jsはNodenvを利用して管理。

```
% brew install nodenv
```

.zshrcを編集し、下記のコードを追加

```shell:.zshrc
export PATH="$HOME/.nodenv/bin:$PATH"
eval "$(nodenv init -)"
```

インストール可能なバージョン一覧を取得

```
% nodenv install --list
```

指定したNode.jsをインストール。
ひとまずその時点で一番新しいのを入れておく。

```shell
% nodenv install 13.1.0
% nodenv global 13.1.0
```

### Java

一旦、ちょっと古いけどJava11を利用する。
単に最新のJavaが欲しければ以下のコマンドで最新(2019/11現在はJava13)をインストール可能です。

```shell
% brew tap install java
```

過去バージョンのパッケージをインストール可能にするbrewリポジトリを追加

```shell
% brew tap homebrew/cask-versions
```

OpenJDK11 をインストール。

```shell
% brew cask install java11
```

#### jenvのインストール

```shell
% brew install jenv
```

以下を.zshrcに追加

```shell:.zshrc
export PATH="$HOME/.jenv/bin:$PATH"
eval "$(jenv init -)"
```

```shell
% jenv add $(/usr/libexec/java_home -v 11)
% jenv global 11.0
```

```shell
% jenv enable-plugin export
```

### Python

```shell
% brew install pyenv
```

.zshrcを更新

```shell:.zshrc
export LDFLAGS="-L/usr/local/opt/readline/lib"
export CPPFLAGS="-I/usr/local/opt/readline/include"
export PKG_CONFIG_PATH="/usr/local/opt/readline/lib/pkgconfig"
export PYENV_ROOT=/usr/local/var/pyenv
if which pyenv > /dev/null; then eval "$(pyenv init -)"; fi
```

インストール可能なPythonのバージョンを検索

```shell
% pyenv install --list
```

ひとまず新しいのをインストール。

```shell
% pyenv install 3.8.0
% pyenv global 3.8.0
```

### Android Studio

```shell
% brew cask install android-studio
```

### Cocoapods

```shell
% brew install cocoapods
```

### Visual Studio Code

```shell
% brew cask install visual-studio-code
```

### Visual Studio for Mac

```shell
% brew cask install visual-studio
```

## デザインツール

### Figma

個人的にはAdobeXD派なんだけど最近みんな使ってるのでFigmaへ移行。

```
% brew cask install figma
```