2021.03.18

Gatsby Cloudビルドエラー「Error in "/usr/src/app/www/gatsby-node.js": Unexpected token '.'」の対処法


Gastby CloudでGit連携後、ビルドした際に以下のエラーが発生した。

17:08:12 PM: Error in "/usr/src/app/www/gatsby-node.js": Unexpected token '.'
17:08:12 PM:
17:08:12 PM: Error: /usr/src/app/www/src/gatsby-node.ts:32
17:08:12 PM: ^
17:08:12 PM: const posts = result.data?.allContentfulBlogPost.nodes ?? [];
17:08:12 PM: SyntaxError: Unexpected token '.'

原因は大したことなかったのですが、対処に時間が少しかかってしまったのでメモ。

原因

原因はGatsby Cloudで動いているNode.jsのバージョンにありました。

gatsby-node.tsで使っていたOptional chaining (?.)はNode.js 14から対応でしたが、Gatsby CloudではNode.js 12がビルドに使われていました。

対処

Gastby Cloudのビルド変数でGastby Cloudの機能をカスタマイズできます。 ビルド変数にNODE_VERSION=14を追加することで対処できました。

set-node-version

参考