Wie man Hugo behebt: can't evaluate field IsServer in type interface {}
Problem:
Beim Bauen Ihrer Hugo-Site sehen Sie eine Fehlermeldung wie die folgende:
hugo_isserver_error.txt
03:27:57.943 ERROR render of "page" failed: "/opt/buildhome/repo/themes/tailbliss/layouts/_default/baseof.html:5:7": execute of template failed: template: _default/single.html:5:7: executing "_default/single.html" at <partial "head.html" .>: error calling partial: "/opt/buildhome/repo/themes/tailbliss/layouts/partials/head.html:25:6": execute of template failed: template: partials/head.html:25:6: executing "partials/head.html" at <hugo>: can't evaluate field IsServer in type interface {}Lösung
Das Problem wird dadurch verursacht, dass Hugo .IsServer nicht findet:
error_excerpt.txt
can't evaluate field IsServer in type interface {}zum Beispiel im folgenden Template-Code:
hugo_template_example.html
{{ if hugo.IsServer }}
<link rel="stylesheet" href="{{ $styles.RelPermalink }}" />
{{ end }}.IsServer wurde jedoch erst in Hugo-Version 0.120.0 hinzugefügt, daher werden Sie diesen Fehler sehen, wenn Sie eine ältere Version verwenden.
Die Lösung ist einfach. Sie können entweder:
- Empfohlen: Aktualisieren Sie Ihre Hugo-Version auf
0.120.0oder neuer. Zum Zeitpunkt der Erstellung dieses Artikels ist Version0.134.2die neueste Version. - Falls das nicht möglich ist: Entfernen Sie die
.IsServer-Prüfung aus Ihrem Template-Code. Dies wirkt sich typischerweise nicht stark auf Ihre Site aus (da Produktions-Builds überhaupt nicht betroffen sind undhugo serve-Entwicklungs-Builds typischerweise nur leicht verändert werden), aber Sie müssen möglicherweise Ihre Site testen, um sicherzustellen, dass alles wie erwartet funktioniert.
Hinweis: Für Cloudflare Pages können Sie die Deployment-Umgebungsvariable HUGO_VERSION auf 0.120.0 oder neuer setzen, um dieses Problem zu beheben. Ich habe dies mit 0.134.2 getestet und es hat einwandfrei funktioniert.
Check out similar posts by category:
Hugo
If this post helped you, please consider buying me a coffee or donating via PayPal to support research & publishing of new posts on TechOverflow