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を取得する ↩︎