初めに
Macを使っていると、必ず使うのがHomeBrewですね。一方で、homebrew自体のupdateは結構忘れやすいですね。というか、私はほとんどしていませんでした。
こまめにパッケージの情報が更新されたり、本体の更新があったりと。。
とりあえず、環境とは別にパッケージマネージャーは最新にしておくに越したことはないでしょう!!
(この間masをアップデートしてとんでもない目にあったのですが、それはまた別の話)
.zshrcと.zprofile
少し寄り道をして、.zshrcと.zprofileについて触れておこうと思う。どちらもshellを起動した際に読み込まれるプロファイルという認識はあるが何が違うかと問われると分からない。rcとprofileについて調べて備忘録として残しておこうと思う。
rcとprofileの違い
rc | 起動時に読み込まれる |
---|---|
profile | ログイン時に読み込まれる |
Macでターミナルを開くとshellの起動とログインが行われる。そのため、profile
とrc
を区別せずに使用することができた。一方で、起動したshell中でzsh
を起動するとログインは行われない。つまり、rc
のみが読み込まれる。つまり、起動時に必要な情報をprofile
,それ以外の場合に読み込みたい情報をrc
に書き込む必要がある。
shell起動時にbrewをupdateさせる。
# HomeBrew PATH
eval "$(/opt/homebrew/bin/brew shellenv)"
# Pyenv PATH
eval "$(pyenv init --path)"
# brew update
brew update
これにより、brew updateが自動で行われ、Homebrew自体を最新の状態にすることができる。initializeを設定することで、便利になる点は、クラスと同様である。好みのshellを作成するためには必要な機能だ。
おまけ
pforileとrcファイルに記述している内容を紹介する。参考になればと思う。
# HomeBrew PATH
eval "$(/opt/homebrew/bin/brew shellenv)"
# Pyenv PATH
eval "$(pyenv init --path)"
# brew update
brew update
# check lib and app versions
~/.personalsettings/check_versions.sh
# brew bandle update
~/.personalsettings/make_brewfile.sh
#!/bin/bash
# UPDATE List Home Brew
APPS=$(brew outdated)
if [ -z "$APPS" ]; then
printf "********************************************************************************\n"
printf "ALL libs installed in brew are Latest \n"
printf "********************************************************************************\n"
else
printf "********************************************************************************\n"
printf "NEED upgrade libs (brew upgrade)\n"
brew outdated
printf "********************************************************************************\n"
fi
# UPDATE List mas
APPS=$(mas outdated)
if [ -z "$APPS" ]; then
printf "********************************************************************************\n"
printf "ALL apps installed in mas are Latest\n"
printf "********************************************************************************\n"
else
printf "********************************************************************************\n"
printf "NEED upgrade apps (mas upgrade)\n"
mas outdated
printf "********************************************************************************\n"
fi
#!/bin/bash
BREW_FILE_PATH=~/.personalsettings/Brewfile
rm $BREW_FILE_PATH
brew bundle dump --file $BREW_FILE_PATH
printf "********************************************************************************\n"
printf "End of rewright Brewfile (PATH:$BREW_FILE_PATH)\n"
printf "********************************************************************************\n"
brew fileを作成することで、Macを移行した際にBrewfileからインストールを行うことができる。基本的にbrewを通してインストールしているため、環境の移行は楽に済む想定である。
# Oh my zsh
export ZSH="$HOME/.oh-my-zsh"
ZSH_THEME="robbyrussell"
plugins=(git)
source $ZSH/oh-my-zsh.sh
# Completion uv command
eval "$(uv generate-shell-completion zsh)"
# command
alias ls='ls --color -F'
alias la='ls -A'
alias ll='ls -l'
alias grep='grep --color=auto'
alias cdw='cd ~/Work'
alias brew upgrade='brew upgrade ; brew cleanup'
alias yoshi='cat ~/.personalsettings/yoshi_aa.txt'