Macへのパッケージ管理システム Homebrew のインストール
なぜパッケージ管理システムを使いたいか?
MacにインストールしたStore以外のパッケージの管理を楽にしたいから。
なんでHomebrew?
- ちょっとググってたらHomebrewが使われてるケースが多いと感じた。
- インストールが簡単
- 対応パッケージが沢山ある
- パッケージの一括アップデートが出来る
- 通常GUIでの操作が必要なアプリもコマンドラインでインストールを完結できる。
- 環境を汚さないみたい
個別のディレクトリにインストールして/usr/local/bin/ にリンクを貼る感じ。
インストールの流れ
- 前提アプリ(xcode)のインストール
- Homebrewのインストール
xcodeのインストール
- インストール実行
imac:~ kichise$ xcode-select --install
xcode-select: note: install requested for command line developer tools
- インストールの確認への応答
- 使用許諾契約への同意
- インストール完了
Homebrewのインストール
公式サイトに掲載しいてるスクリプトを実行します。
imac:~ kichise$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
Press RETURN to continue or any other key to abort
Password: ************
ダウンロードとかあるから、少し時間が掛かります。
imac:~ kichise$
brewコマンドの補完を行いたい場合の追加作業
brew コマンドのオプション指定を補完で行いたい場合、以下の追加設定を行います。
Configuring Completions in zsh
bashを使ってる場合は、Configuring Completions in bash を参照してください。
kichise@imac ~ % vi .zshrc
if type brew &>/dev/null; then
FPATH=$(brew --prefix)/share/zsh/site-functions:$FPATH
autoload -Uz compinit
compinit
fi
kichise@imac ~ %
## 以下のメッセージが出た場合、ディレクトリの権限を見直しましょう。
zsh compinit: insecure directories, run compaudit for list.
Ignore insecure directories and continue [y] or abort compinit [n]?
kichise@imac ~ % ls -ld /usr/local/share
drwxrwxr-x 23 kichise admin 736 5 2 14:47 /usr/local/share
kichise@imac ~ % chmod go-w "$(brew --prefix)/share"
kichise@imac ~ % chmod go-w "$(brew --prefix)/share/zsh"
kichise@imac ~ % chmod go-w "$(brew --prefix)/share/zsh/site-functions"
kichise@imac ~ %
- rcファイルに書いてるから、zshを呼び直さないと(ターミナルを開き直すとか)反映されません。
基本的な操作
インストールしたいパッケージを探す
アプリ名の一部などキーワードを使って検索出来ます。
kichise@imac ~ % brew search iterm2
==> Casks
iterm2 homebrew/cask-versions/iterm2-legacy
homebrew/cask-versions/iterm2-beta homebrew/cask-versions/iterm2-nightly
kichise@imac ~ %
パッケージのインストール
検索した時に、Formula側で見つかったパッケージは brew install
Casks側で見つかったパッケージは brew cask install でインストールします。
kichise@imac ~ % brew cask install iterm2
インストール済みパッケージの一覧
kichise@imac ~ % brew list
caskの場合:
kichise@imac ~ % brew cask list
アップデートが必要なパッケージの一覧
更新が必要なパッケージを確認するには、まず、HomebrewのアップデートとFormulaeのアップデートを行う必要があります。
kichise@imac ~ % brew update
kichise@imac ~ % brew outdated
caskの場合:
kichise@imac ~ % brew cask outdated
インストール済みパッケージの一括アップグレード
- update ではなく upgrade です。
オプション update では更新されたformulaのfetchだけ行うっぽい。 - 以前は古いパッケージの削除が必要だったようですが、今は定期的に自動削除されるので
アップグレードだけで明示的に削除(cleanup)する必要はないようです。
kichise@imac ~ % brew upgrade
caskの場合:
kichise@imac ~ % brew cask upgrade
アンインストール
Formulaでインストールしたパッケージは brew uninstall
Casksでインストールしたパッケージは brew cask uninstall でアンインストールします。
kichise@imac ~ % brew cask uninstall liberica-jdk13
### 参考
- Homebrew自体は install,upgrade tap の前に自動的にアップグレードが実行されます。