Homebrew入門:基本コマンドとapt・dnfとの比較

Homebrew入門:基本コマンドとapt・dnfとの比較_ヘッダー画像 Tips
※chatgptで生成

はじめに

Macを購入したらまず導入する方も多いであろうHomebrew。私はHomebrewにあまり馴染みがなく、aptやyumなどのパッケージマネージャ基準でどうしても考えてしまいます。

今回はhomebrewの導入方法と簡単な使い方、Linuxのパッケージマネージャであるapt、yumとのコマンドの対応をまとめます。

インストール方法

ターミナルを起動し、公式サイトに記載のあるワンライナーを実行しておしまいです。
これに関しては公式サイトを確認するのが確実でしょう。

Homebrew
The Missing Package Manager for macOS (or Linux).

インストールが終わったら実行できるか確認しましょう。

$ brew --version
Homebrew 4.5.2 #インストール時期によって変動

※なお、コマンドとして入力するのは“brew”であって、homebrewではない点に注意

formulaとcask

コマンドに移る前に、formulaとcaskについてまとめます。これらはそれぞれパッケージの定義のことで、以下のような違いがあります。

  • formula
    上流となるソースからビルドされたコマンド、ツール、ライブラリパッケージの定義
    →乱暴にまとめるとコマンドラインツール対象とする場合に登場する
  • cask
    macosのネイティブアプリケーションをインストールに関する定義
    →同様にまとめるとGUIアプリケーションを対象とする場合に登場する

もっと詳しく知りたい方はHomebrewのManpageを確認することをおすすめします。
https://docs.brew.sh/Manpage

基本的な使い方

homebrewで使用するコマンド群のうち、使用頻度が高いものを独断と偏見でまとめます。

パッケージリストのアップデート
$ brew update
実行例
$ brew update
==> Updating Homebrew...
Already up-to-date.
パッケージの検索
$ brew search XXX
実行例
$ brew search chrome 
==> Formulae
chrome-cli      chrome-export   chroma          rome            chrony

==> Casks
chime                                    google-chrome
chrome-devtools                          google-chrome@beta
chrome-remote-desktop-host               google-chrome@canary
chromedriver                             google-chrome@dev
chromedriver@beta                        mkchromecast
epichrome
ツールのインストール

formulaはオプションなし、caskの場合は–caskオプションを付けます。

$ brew install XXX
$ brew install --cask YYY
実行例
$ brew install --cask google-chrome
==> Downloading https://dl.google.com/chrome/mac/universal/stable/GGRO/googlechr
######################################################################### 100.0%
==> Installing Cask google-chrome
==> Moving App 'Google Chrome.app' to '/Applications/Google Chrome.app'
🍺  google-chrome was successfully installed!
==> `brew cleanup` has not been run in the last 30 days, running now...
Disable this behaviour by setting HOMEBREW_NO_INSTALL_CLEANUP.
Hide these hints with HOMEBREW_NO_ENV_HINTS (see `man brew`).

~cleanupのログは省略~
ツールの削除
$ brew remove XXX
実行例
$ brew remove google-chrome
==> Uninstalling Cask google-chrome
==> Backing App 'Google Chrome.app' up to '/opt/homebrew/Caskroom/google-chrome/
==> Removing App '/Applications/Google Chrome.app'
==> Purging files for version 137.0.7151.56 of Cask google-chrome

各パッケージマネージャとのコマンド比較

aptやyumとの対応は以下のようになります。

Homebrewaptdnf(yum)
更新の確認updateupdatecheck-update
インストールinstallinstallinstall
更新upgradeupgradeupdate
削除removeremoveremove
不要pkgの削除autoremoveautoremoveautoremove
一覧listlistlist
検索searchsearchsearch

参考:

brew(1) – The Missing Package Manager for macOS (or Linux)
Documentation for the missing package manager for macOS (or Linux).
Ubuntu Manpage: apt - command-line interface
Ubuntu Manpage: dnf - DNF Command Reference

まとめ

HomebrewとLinuxでよく使うパッケージマネージャをまとめてみました。
私自身、毎回検索していたので勉強にもなりました。