Netlify + HugoでTOCSS: failedが出た時の対応

2019-08-17

久しぶりにブログ更新するぞとGitHubにpushするとnetlifyのビルドエラーが発生。
その解決方法です。

対応

Netlifyの[Deploy Settings]にある[Build image selection]で、Ubuntu Trusty 14.04Ubuntu Xenial 16.04 (default)に変更する。

エラー内容

pushすると、error: failed to transform resource: TOCSS:...が発生。Sassのコンパイルに失敗しているようです。

10:07:48 PM: export GIMME_ENV='/opt/buildhome/.gimme_cache/env/go1.10.linux.amd64.env';
10:07:48 PM: go version go1.10 linux/amd64
10:07:48 PM: Installing missing commands
10:07:48 PM: Verify run directory
10:07:48 PM: Executing user command: hugo --gc --minify
10:07:48 PM: Building sites …
10:07:48 PM: ERROR 2019/08/17 13:07:48 error: failed to transform resource: TOCSS: failed to transform "assets/style.scss" (text/x-scss): this feature is not available in your current Hugo version
10:07:48 PM: Total in 87 ms
10:07:48 PM: Error: Error building site: logged 1 error(s)
10:07:48 PM: Skipping functions preparation step: no functions directory set
10:07:48 PM: Caching artifacts
10:07:48 PM: Started saving pip cache
10:07:48 PM: Finished saving pip cache

Sassコンパイル可能なHugoは、Extendedバージョンと呼ばれるものなのですが、Netlifyでは2019/3/15まで暫定対応だったとのこと。 NetlifyでHugoのextendedバージョンが暫定対応されたので試してみた

Build imageのUbuntuをTrusty 14からXenial 16に変更して再ビルドするとうまく通りました。

なぜいままでコンパイル通ってたんだろうか……

参考

https://www.ikemo3.com/inverted/hugo/use-scss/
https://rahilw.dev/blog/hugo-extended-on-netlify/

© takakd 2018