0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

HomeBrewのupdateの自動化

Posted at

初めに

Macを使っていると、必ず使うのがHomeBrewですね。一方で、homebrew自体のupdateは結構忘れやすいですね。というか、私はほとんどしていませんでした。
こまめにパッケージの情報が更新されたり、本体の更新があったりと。。

とりあえず、環境とは別にパッケージマネージャーは最新にしておくに越したことはないでしょう!!
(この間masをアップデートしてとんでもない目にあったのですが、それはまた別の話)

.zshrcと.zprofile

少し寄り道をして、.zshrcと.zprofileについて触れておこうと思う。どちらもshellを起動した際に読み込まれるプロファイルという認識はあるが何が違うかと問われると分からない。rcとprofileについて調べて備忘録として残しておこうと思う。

rcとprofileの違い

rc 起動時に読み込まれる
profile ログイン時に読み込まれる

Macでターミナルを開くとshellの起動とログインが行われる。そのため、profilercを区別せずに使用することができた。一方で、起動したshell中でzshを起動するとログインは行われない。つまり、rcのみが読み込まれる。つまり、起動時に必要な情報をprofile,それ以外の場合に読み込みたい情報をrcに書き込む必要がある。

shell起動時にbrewをupdateさせる。

.zprofile
# 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ファイルに記述している内容を紹介する。参考になればと思う。

.zprofile
# 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
.personalsettings/check_versions.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
.personalsettings/make_brewfile.sh
#!/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を通してインストールしているため、環境の移行は楽に済む想定である。

.zshrc
# 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'
0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?