Hugoでリンクカード表示をしたかったのにエラーでハマった

こういう記事を見てやってみたかった。


  • ローカルでは表示できたのにNetlifyでビルドに失敗する。なぜ…
  • このページにヒントがあった

Hugoにnetlify.toml追加

Hugo+Netlifyの環境にnetlify.tomlを設置した

ローカルとNetlifyのHugoのバージョンを揃えよう!

  • ローカル環境のHugoとNetlifyビルド時のHugoのバージョンが揃っていないと、片方でビルドできてももう片方ではできないということが起こるらしい。
  • 今回は最近追加されたらしいgetremoteという機能を使ったので、Netlifyのバージョンでは使えなかった模様。netlify.tomlというファイルでローカル環境のバージョンと同じものを明示的に指定することでビルド時のエラーが解決した。

こんな感じにした

netlify.toml

[build]
publish = "public"
command = "hugo --gc --minify"

[context.production.environment]
HUGO_VERSION = "0.111.3"
HUGO_ENV = "production"
HUGO_ENABLEGITINFO = "true"

[context.split1]
command = "hugo --gc --minify --enableGitInfo"

[context.split1.environment]
HUGO_VERSION = "0.111.3"
HUGO_ENV = "production"

[context.deploy-preview]
command = "hugo --gc --minify --buildFuture -b $DEPLOY_PRIME_URL"

[context.deploy-preview.environment]
HUGO_VERSION = "0.111.3"

[context.branch-deploy]
command = "hugo --gc --minify -b $DEPLOY_PRIME_URL"

[context.branch-deploy.environment]
HUGO_VERSION = "0.111.3"

[context.next.environment]
HUGO_ENABLEGITINFO = "true"

[[redirects]]
from = "/npmjs/*"
to = "/npmjs/"
status = 200