Heavy Watal

Homebrew

Unixツールをパッケージとして手軽にインストールできるパッケージ管理ソフト。

https://brew.sh/

Installation

https://docs.brew.sh/Installation

  1. Command Line Tools をインストールする。 cf. /dev/devenv:

    xcode-select --install
    

    Xcodeを丸ごとインストールしてある場合でも独立CLTが必要らしい。

  2. ターミナルから下記のコマンドを実行し、指示に従う:

    /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
    
  3. ちゃんと入ったか確認:

    brew doctor
    

Usage

https://docs.brew.sh/FAQ

brew install

公式リポジトリから明示的にインストールしたものメモ:
boost cmake doxygen eigen exiftool fzf go make miller nkf pandoc parallel qpdf rbenv rsync tmux webp wget xz zsh-completions zstd

Rをここからインストールするとバイナリ版のパッケージが利用できず、 毎回ソースからビルドすることになるので、 後述のように --cask r で入れるほうが簡単。

coreutils, gnu-tar などは既存のシステムコマンドとごっちゃにならないよう頭に g を付けてインストールしてくれる。 元の名前でアクセスする方法はいくつかあるが、 $(brew --prefix)/opt/{coreutils,gnu-sed,gnu-tar,grep}/libexec/gnubinPATH を通すのが楽ちん。 brew unlink coreutils gnu-tar してもそれらのディレクトリは残る。

rust製ツールもcargoで自前ビルドするよりこちらで入れてしまった方が楽ちん:
as-tree bat diskus dust eza fd git-delta hck hexyl hyperfine lsd monolith oxipng procs qsv ripgrep sd

brew tap

明示的にリポジトリを追加する:

brew tap brewsci/bio
brew install libsequence

暗黙に brew tap しつつ直接インストールも可能: brew install brewsci/bio/libsequence

バイオインフォマティクスなど科学計算のツール群はHomebrew公式タップ homebrew/science に収録されていたがdeprecatedになった。 brewsci/science がフォーミュラを一旦引き継いで、 homebrew/corebrewsci/bio に振り分けて移行を進めている。

Tapを作る

https://docs.brew.sh/How-to-Create-and-Maintain-a-Tap

GitHubに homebrew-nicetap のような名前のリポジトリを作成し、 ルート直下の Formula/goodtool.rb のようなファイルを置くだけ。 使うときは brew install <username>/nicetap/goodtool のようにリポジトリ名から homebrew- を削った形で指定する。

Formulaを作る

https://docs.brew.sh/Formula-Cookbook

新規作成するには brew create <URL> コマンドが便利。

url には git tag でGitHubに作られるバージョン付きアーカイブを指定してやるのが楽ちん。

head にリポジトリを登録してバージョン無しで運用することも可能。 ただし brew upgrade ではHEADの更新をチェックしてくれないので要注意。 brew reinstall するしかないのかな?

Cask

GUIアプリケーションもHomebrewで管理してしまおうという野心的な拡張機能。 昔は brew cask install のような形で使っていたが、 今は brew 本体に統合されている。 同名のformulaがある場合などは --cask で限定できる:

brew install --cask r rstudio
brew list --cask

アプリ側でアップデートを実行するとCask内でのバージョンと食い違っちゃうけど使用上は問題ないらしい。

amazon-photos basictex bibdesk discord drawio dropbox equinox firefox google-chrome google-drive inkscape joplin julia macfuse megasync menumeters monitorcontrol orbstack quarto r rstudio skim skype slack spideroakone the-unarchiver visual-studio-code vlc wezterm xquartz zoom

Quicklook

See Quicklook.

Fonts

brew tap homebrew/cask-fonts

font-sf-mono font-sf-pro font-biz-udgothic font-biz-udmincho font-biz-udpgothic font-biz-udpmincho font-ubuntu font-ubuntu-mono font-ubuntu-mono-nerd-font font-ubuntu-sans font-ubuntu-sans-mono font-ubuntu-sans-nerd-font font-noto-sans font-noto-serif font-noto-sans-mono font-source-sans-3 font-source-serif-4 font-open-sans font-roboto font-dejavu font-lora font-merriweather