Hugoのバージョンアップで発生したエラーを修正する
はじめに
このサイトは静的サイトジェネレータのhugoを使用して作成しています。
これまでV0.92.2(WSL)を使用していました。今回環境をV0.125.7(Windows)に変更したところ、何点がエラーが発生しました。エラーの原因と修正方法を紹介します。
今回の環境
- 変更前 : v0.92.2+extended(wsl)
- 変更後 : V0.125.7+extended(win10)
- hugoのテーマ : Mainroad
発生したエラーと解決方法
languageキー仕様変更によるエラー
ERROR deprecated: config: languages.ja.dateformat: custom params on the language top level was deprecated in Hugo v0.112.0 and will be removed in Hugo 0.126.0. Put the value below [languages.ja.params]. See https://gohugo.io/content-management/multilingual/#changes-in-hugo-01120
日付を日本語表示にするため [languages.ja]
キーの下に dateformat
パラメータを設定していましたが、V0.126.0から廃止になったようです。 [languages.ja.params]
の下に置けばよいらしいので、 config.toml
を以下のように修正して解決しました。
変更前
[languages]
[languages.ja]
#日付フォーマット
dateFormat = "2006年1月2日"
変更後
[languages]
[languages.ja]
[languages.ja.params] # ← 追加
#日付フォーマット
dateFormat = "2006年1月2日"
"_internal/google_analytics_async.html" 廃止によるエラー
ERROR render of "taxonomy" failed: execute of template failed: html/template:_default/list.html:54:14: no such template "_internal/google_analytics_async.html"
ERROR render of "term" failed: execute of template failed: html/template:_default/list.html:54:14: no such template "_internal/google_analytics_async.html"
Error: error building site: render: failed to render pages: render of "home" failed: execute of template failed: html/template:index.html:54:14: no such template "_internal/google_analytics_async.html"
Googleアナリティクス用のテンプレートが廃止なったことにより、エラーがでました。 _internal/google_analytics_async.html
は layouts/_default/baseof.html
で読み込んでいることがわかったので、以下のように変更して解決しました。
layouts/_default/baseof.html
の以下の部分を削除。
<!-- -->でコメントアウトだとエラー回避できないので、必ず「削除」してください。
{{- if not .Site.IsServer }}
{{- if hasPrefix .Site.GoogleAnalytics "G-" }}
{{ template "_internal/google_analytics.html" . }}
{{- else }}
{{ template "_internal/google_analytics_async.html" . }}
{{- end }}
{{- end }}
config.toml
の以下の行も必要ないので削除。
googleAnalytics = "xxxxxxx" # Enable Google Analytics by entering your tracking id
警告:ahthorキーが非推奨に
WARN The author key in site configuration is deprecated. Use params.author.name instead.
まだ警告ですが、[author]キーが廃止のため[params.author]キーに変更します。しかし変更するとWARNは消えますが、オーサーボックスも表示されなくなります。
変更前
[author]
name = "サイト管理者 : タカツ"
変更後
[params.author]
name = "サイト管理者 : タカツ"
調べていくと 同じ問題 が起きていました。どうもテーマの方が対応していないとだめなようです。とりあえずサイトビルドはできるので、こちらは修正せずに今後対応しようと思います。
終わりに
以上、エラーの対処方法でした。
hugoは日本語の情報があまりまとまっていないので、引っかかるとシンドいですね。お役に立てば幸いです。