先日初めてMacbookProを購入したのですが、例の如くシェルをbashからzshに変更したので備忘録がてらメモを残しておきます。
iTermのインストール
何はともあれ、iTermをインストールしましょう。
https://www.iterm2.com/
Xcodeのインストール
これまでPCのセットアップする度に「brewを入れるためにどうしてXcodeが必要なんだろう?」って思ってたのですが、どうやらXcodeの中にあるCommandLineToolsを使用するためだったようです。
Xcode自体は非常に高機能なアプリなのでインストールに相当時間がかかる&容量が大きいため、賢い方々はXcodeアプリをインストールせずにCommandLineToolsだけ抜いているようです。
XCode なしで HomeBrew をインストールする方法(空き容量がない)
IOSシミュレーターなど他のツールも使う予定があるので、Xcode本体をインストールしてしまいます。
ちなみに自分はMojaveのバグでAppStoreにサインインできないという残念な状態だったのでコマンドラインからインストールしていますが、普通にAppStoreから落としても問題ありません。
$ xcode-select --install
ここは時間がかかりますが、以下のコマンドでversionが表示されれば完了です。
$ xcode-select -v
brewのインストール
brewはmacOSにおいて諸々のパッケージのインストール・管理ができる便利ツールです。
zshもbrew経由でインストールするので、まずはbrewをインストールしましょう。
$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)
途中でエンターキーを押してくれだのPCのパスワードを入力してくれだの出てきますが大人しく従いましょう。
おそらくここでエラーが起きることはほぼ無いかと思いますが、インストールが完了したら以下のコマンドを打ちます。
$ brew update Already up-to-date $ brew doctor Your system is ready to brew.
こんな感じで表示されれば最新版が無事インストールされています。
zshのインストール
いよいよzsh本体をインストールします。
brewを入れているのでインストール自体はこのコマンドで一発です。
$ brew install zsh
brew自体に問題がなければおそらく無事インストールできるかと思いますが、念の為確認します。
$ which zsh /usr/local/bin/zsh
きちんとインストールできていますね。
デフォルトのシェルをbashからzshに変更
デフォルトのシェルはbashになっていますので、インストールしたzshに切り替える作業が必要です。
シェルとして使用可能なもののパスを記載する/etc/shellsというファイルがあるので、そこにインストールしたzshのパスを記載します。
sudo sh -c "echo '/usr/local/bin/zsh' >> /etc/shells"
/etc/shellsというファイルにスーパーユーザーで/usr/local/bin/zshという文字列を追加、という内容になります。
きちんと書き込まれたか確認します。
$ vim /etc/shells
/usr/local/bin/zshが記載されていればOKです。
では最後に現在使用しているシェルをbashからzshに変更します。
これもパスワードを入力して進みます。
chsh -s '/usr/local/bin/zsh
これでシェルを再起動するとログインシェルがzshに変更されているはずです!
zshの設定について
シェルをzshに切り替えただけでは勿体無いので大抵の方はカスタマイズしているかと思います。
今回は割愛してしまいますが、.zshrcというzshの設定ファイルにお好みの設定を書き込んでカスタマイズすることになります。
oh-my-zshというzsh設定フレームワークもあるそうですが、起動が遅くなるそうなので自分で必要な分だけそこらへんから拾ってくる方が良いかもしれません。
自分は前職のエンジニアの先輩の方から譲ってもらった秘伝の.zshrcに加えて、そこらへんのサイトから良さげなaliasとかを追加しました。
おわり
以上でzshの最低限の設定は完了です!
そう言えばfishというシェルの補完が強力と聞いたので気になっているのでまたセットアップする機会でもあれば試してみたいと思います。
あとXcodeインストールする時は自分のようにポケットWi-Fiが通信制限にかかってしまわないようにお気をつけください笑
それでは