Homebrewで、最新版のhugoをインストールしたら、ブログの生成に失敗した。古いバージョンに戻したい。
以下のコマンドで、hugo v0.123.1
をインストールした。
brew upgrade hugo
しかし、このバージョンでは、私のブログは生成時にエラーになる。
動作確認ができているhugo
のv0.122.0
にバージョンを戻したい。
brew
のバージョン
$ brew -v
Homebrew 4.2.9-63-g6a9c9c0
解決策
brew
には Taps (Third-Party Repositories)という、独自のFormula
1 を管理するためのリポジトリを追加できる。
新たなtap
を作成し、古いhugo
パッケージのFormula
をダウンロードして管理すれば良い。2
手順は以下となる。
-
エラーが発生する最新の
hugo v0.123.1
をアンインストールbrew uninstall hugo
-
kanta/olds
という名前のtap
を以下のコマンドで作成brew tap-new kanta/olds
-
作成された
tap
(kanta/olds
)のパスを確認$ brew tap-info kanta/olds kanta/olds: no commands/casks/formulae, private /usr/local/Homebrew/Library/Taps/kanta/homebrew-olds (33 files, 34.2KB) From: N/A
-
tap
(kanta/olds
)のFormula
ディレクトリに移動$ cd /usr/local/Homebrew/Library/Taps/kanta/homebrew-olds $ ls Formula README.md $ cd Formula
-
hugo v0.122.0
のFormula
をダウンロード 3$ pwd /usr/local/Homebrew/Library/Taps/kanta/homebrew-olds/Formula $ curl -OL https://github.com/Homebrew/homebrew-core/raw/2fd8dba871a6a5412fa7c00b12ac99b5738cd199/Formula/h/hugo.rb $ ls hugo.rb
-
brew search hugo
で追加したFormula
を確認$ brew search hugo --formula ==> Formulae hugo kanta/olds/hugo # <= 追加されている!!
-
hugo v0.122.0
をインストール$ brew install kanta/olds/hugo $ hugo version hugo v0.122.0-b9a03bd59d5f71a529acb3e33f995e0ef332b3aa+extended darwin/amd64 BuildDate=2024-01-26T15:54:24Z VendorInfo=brew
参考
- Taps (Third-Party Repositories) — Homebrew Documentation
- Homebrew で Formula にない任意のバージョンのパッケージをインストールする - ひよこまめ
- History for Formula/h/hugo.rb - Homebrew/homebrew-core
-
Formula
とはパッケージのインストール手順を記載したbrew
専用のスクリプトファイル ↩︎ -
Homebrew
のv4以前であればbrew extract
コマンドでtap
に指定したバージョンFormula
を作成できるようだ。しかし、v4以降ではできないため、curl
を使って手動でFormula
をダウンロードする方針とする。 ↩︎ -
History for Formula/h/hugo.rb - Homebrew/homebrew-coreから該当バージョンのURLを取得する ↩︎