Node.js v20 で GitHubActions から Vercel へのデプロイがコケた話
Vercel が Node.js v20 無いとかエラー出してくる → Error: Found invalid Node.js Version: "20.x". Please set "engines": { "node": "18.x" } in your `package.json` file to use Node.js 18.
sitemap.xml
ページは SSRNext.js の SSR は Amplify で Lambda@Edge 上で動いているのだが、Amplify Console 上で指定した環境変数が Lambda@Edge に引き継がれないため、環境変数を参照している箇所でエラーとなる。
回避方法としてはビルド時に .env.local
へ出力するスクリプトを用意するか、 next.config.js
で env
を定義しておくかがある。
Next.jsで動的にXMLサイトマップを生成する を参考に SSR で sitemap.xml を動的生成していたが、/sitemap.xml
へのアクセスで 500 エラーが出ていた。
ログを調べると SSR 時に、microCMS にアクセスするときの API KEY が環境変数から取得できておらず、microCMS へのアクセスで 401 エラーとなっていたのが原因だった。
Vercel が Node.js v20 無いとかエラー出してくる → Error: Found invalid Node.js Version: "20.x". Please set "engines": { "node": "18.x" } in your `package.json` file to use Node.js 18.
public ディレクトリにおいてる画像とかのパスを補完が効くようにしたい
windows はクソ(暴論)