kanta's spike

Homebrewで、最新版のhugoをインストールしたら、ブログの生成に失敗した。古いバージョンに戻したい。

以下のコマンドで、hugo v0.123.1をインストールした。

brew upgrade hugo

しかし、このバージョンでは、私のブログは生成時にエラーになる。 動作確認ができているhugov0.122.0にバージョンを戻したい。

brewのバージョン

$ brew -v
Homebrew 4.2.9-63-g6a9c9c0

解決策

brewには Taps (Third-Party Repositories)という、独自のFormula 1 を管理するためのリポジトリを追加できる。 新たなtapを作成し、古いhugoパッケージのFormulaをダウンロードして管理すれば良い。2

手順は以下となる。

  1. エラーが発生する最新のhugo v0.123.1をアンインストール

    brew uninstall hugo
    
  2. kanta/oldsという名前のtapを以下のコマンドで作成

    brew tap-new kanta/olds
    
  3. 作成された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
    
  4. tap(kanta/olds)のFormulaディレクトリに移動

    $ cd /usr/local/Homebrew/Library/Taps/kanta/homebrew-olds
    $ ls
    Formula         README.md
    $ cd Formula
    
  5. hugo v0.122.0Formulaをダウンロード 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
    
  6. brew search hugoで追加したFormulaを確認

    $ brew search hugo --formula
    ==> Formulae
    hugo                    kanta/olds/hugo # <= 追加されている!!
    
  7. 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
    

参考


  1. Formulaとはパッケージのインストール手順を記載したbrew専用のスクリプトファイル ↩︎

  2. Homebrewのv4以前であればbrew extractコマンドでtapに指定したバージョンFormulaを作成できるようだ。しかし、v4以降ではできないため、curlを使って手動でFormulaをダウンロードする方針とする。 ↩︎

  3. History for Formula/h/hugo.rb - Homebrew/homebrew-coreから該当バージョンのURLを取得する ↩︎

作成日: 2024/02/22