HugoをVercelにデプロイするときはバージョンを指定する
ローカルで利用しているHugoのバージョンとVercelで利用するHugoのバージョンを合わせる方法について調べました。
はじめに
このブログをVercelでホスティングするためにデプロイしたところHugoのビルドがエラーになりました。
エラーログの内容を確認したところローカルとVercelで利用しているHugoのバージョンが異なっているためビルドがエラーとなっているようでした。
Vercelで使用するHugoのバージョンをローカルと合わせるためにVercelで利用するHugoのバージョンを指定する方法について調べました。
VercelでのHugoのバージョンの指定方法
最初にローカルで使用しているHugoのバージョンを確認します。
hugo version
vercel.jsonで指定する方法(非推奨)
この方法は現在推奨されていませんのでプロジェクト設定の環境変数で設定する方法を参照ください。
Vercelで利用するHugoのバージョンの指定方法について調べたところ、まずjsonファイルで定義する方法が見つかりました。プロジェクト直下にvercel.json
を作成し以下のようにHugoのバージョンを指定します。
Hugoのバージョンをvercel.json
に設定した後にVercel
に再度デプロイしてビルドに成功することが確認できました。
ただしドキュメントのbuild.env | CLI – Vercel Docsにはbuild.env
の使用は非推奨でプロジェクト設定から環境変数で設定するようにと記載があります。
Note: We recommend against using this property.
To add custom Environment Variables to your Project, please define them in the Project Settings instead. Then you will be able to take advantage of the richest feature set.
プロジェクト設定の環境変数で設定する方法
ドキュメントのFramework Versioning | Build Step – Vercel Docsに記載があるようにプロジェクト設定からHugoのバージョンを環境変数HUGO_VERSION
に設定します。
設定するHugoのバージョンはGithubのHugoのリポジトリのリリースアッセットに存在するバージョンを指定する必要があります。
設定した後にvercel.json
からbuild.env
を削除して再度デプロイしてビルドに成功することが確認できました。
まとめ
HugoをVercelにデプロイする場合はプロジェクト設定からローカルで使用しているHugoのバージョンを環境変数のHUGO_VERSION
に設定する。