🐕
Apple SiliconのMacを渡されたあとのシェル(zsh)設定
頻度は低いが、毎回初期の開発環境設定で避けられないため忘備録として記録。
path設定
デフォルトだと下記のようなpathになっている。
(tr
コマンドで開業して見やすくしている。)
% echo $path | tr ' ' '\n'
/usr/local/bin
/usr/bin
/bin
/usr/sbin
/sbin
intel Macは特にこれで問題は発生しないが、Apple SiliconのMacだと後述のnodebrewなどをインストールしようとするとHomebrewのインストール先が異なりpathのエラーがでる。
Homebrewのインストール先となるopt/homebrew/
にpathを通してあげる。
~/.zshrc
typeset -U path PATH
path=(
/opt/homebrew/bin(N-/)
/opt/homebrew/sbin(N-/)
/usr/bin
/usr/sbin
/bin
/sbin
/usr/local/bin(N-/)
/usr/local/sbin(N-/)
)
更新後は下記で更新を確認
# zshrcを更新
source ~/.zshrc
# 更新を確認
% echo $path | tr ' ' '\n'
/opt/homebrew/bin
/opt/homebrew/sbin
/usr/bin
/usr/sbin
/bin
/sbin
/usr/local/bin
zshの便利カスタマイズ
コマンドの入力を支援するカスタマイズを行う。
行うカスタマイズは一旦下記の項目とする。
- 予測変換
- 補完機能
- 入力ミス対応
- エイリアスを設定
-
cd
実行時にlsを実行する - 重複したコマンドの履歴を残さない
/~/.zshrc
# 予測変換を有効に
autoload predict-on
predict-on
# 補完機能を有効に
autoload -Uz compinit
compinit
# 補完リストないで選択した部分を塗りつぶす
zstyle ':completion:*' menu select
# 入力ミスに対応
setopt correct
# ```cd```コマンドの省略。またセットで```ls```コマンドが実行されるようにする。
setopt auto_cd
function chpwd() { ls }
# 直前のコマンドと同じなら履歴に残さない
setopt HIST_IGNORE_DUPS
# alias設定
alias la='ls -a'
alias ll='ls -l'
alias lal='ls -al'
~~~以下aliasが続く~~~
上記設定後、忘れずに再度source ~/.zshrc
を実行する。
homebrewによるツール導入
今回はnodeを使用したいためnodebrewをインストールする。
# nodebrewをインストール
% brew install nodebrew
# セットアップ
% nodebrew setup
# nodeコマンドを使用するためにpathを通す(セットアップ時に表示されたpathを指定)
% echo 'export PATH=$HOME/.nodebrew/current/bin:$PATH' >> ~/.zshrc
# インストールしたいバージョンを確認
% nodebrew ls-remote
# バージョンを指定してインストール(いずれかの方法で指定)
% nodebrew install (version) ## versionをピンポイントに指定
% nodebrew install stable ## 一番新しい安定版をインストール
% nodebrew install v16 stable ## 指定したメジャーバージョンの安定版をインストール
# インストールしたバージョン一覧を確認
% nodebrew ls
# 使用するバージョンを指定
% nodebrew use (version)
# 指定したnodeが使用できるか確認
% node -v
無事に指定したバージョンが表示されれば成功。
別バージョンを使いたい場合はnodebrew ls-remote
以降を再度行えば良い。
参考記事
Discussion