sveltekitcloudflare-pages

SvelteKit on Cloudflare Pages -- npm ERR! code ELIFECYCLE


I'm trying to deploy a SvelteKit starter app to Cloudflare using the cloudflare documented method. The following is embedded in the larger build output on Cloudflare's Pages server.

2023-01-08T09:01:19.786481Z npm ERR! code ELIFECYCLE
2023-01-08T09:01:19.786756Z npm ERR! errno 1
2023-01-08T09:01:19.786894Z npm ERR! @sveltejs/kit@1.0.7 postinstall: `node postinstall.js`
2023-01-08T09:01:19.787007Z npm ERR! Exit status 1
2023-01-08T09:01:19.787115Z npm ERR! 
2023-01-08T09:01:19.78722Z  npm ERR! Failed at the @sveltejs/kit@1.0.7 postinstall script.
2023-01-08T09:01:19.787326Z npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

After googling, I've found a few places that talk about a similar error - but it seems that all of the mentioned cases are specific to running the app locally. I can run the SvelteKit app fine locally. Only at deploy time do I get these errors. I set both my local nodejs and Pages nodejs versions to 16 in the environments as suggested in the documentation.

Full Build Log

2023-01-08T09:00:59.697204Z Cloning repository...
2023-01-08T09:01:00.600344Z From https://github.com/IwateKyle/my-svelte-app
2023-01-08T09:01:00.600899Z  * branch            f36ba5a59658fe132a8eef719401bb02b4fbd1b8 -> FETCH_HEAD
2023-01-08T09:01:00.60105Z  
2023-01-08T09:01:00.658111Z HEAD is now at f36ba5a added cloudflare adapter
2023-01-08T09:01:00.658755Z 
2023-01-08T09:01:00.803714Z 
2023-01-08T09:01:00.831861Z Success: Finished cloning repository files
2023-01-08T09:01:01.583463Z Installing dependencies
2023-01-08T09:01:01.596149Z Python version set to 2.7
2023-01-08T09:01:04.823099Z v12.18.0 is already installed.
2023-01-08T09:01:05.982292Z Now using node v12.18.0 (npm v6.14.4)
2023-01-08T09:01:06.194401Z Started restoring cached build plugins
2023-01-08T09:01:06.209395Z Finished restoring cached build plugins
2023-01-08T09:01:06.688947Z Attempting ruby version 2.7.1, read from environment
2023-01-08T09:01:10.161106Z Using ruby version 2.7.1
2023-01-08T09:01:10.521715Z Using PHP version 5.6
2023-01-08T09:01:10.674896Z 5.2 is already installed.
2023-01-08T09:01:10.700396Z Using Swift version 5.2
2023-01-08T09:01:10.700985Z Started restoring cached node modules
2023-01-08T09:01:10.717029Z Finished restoring cached node modules
2023-01-08T09:01:10.957299Z Installing NPM modules using NPM version 6.14.4
2023-01-08T09:01:11.893747Z npm WARN read-shrinkwrap This version of npm is compatible with lockfileVersion@1, but package-lock.json was generated for lockfileVersion@2. I'll try to do my best with it!
2023-01-08T09:01:19.257258Z 
2023-01-08T09:01:19.257603Z > esbuild@0.16.15 postinstall /opt/buildhome/repo/node_modules/esbuild
2023-01-08T09:01:19.257807Z > node install.js
2023-01-08T09:01:19.2581Z   
2023-01-08T09:01:19.434448Z 
2023-01-08T09:01:19.434944Z > svelte-preprocess@4.10.7 postinstall /opt/buildhome/repo/node_modules/svelte-preprocess
2023-01-08T09:01:19.435128Z > echo "[svelte-preprocess] Don't forget to install the preprocessors packages that will be used: node-sass/sass, stylus, less, postcss & postcss-load-config, coffeescript, pug, etc..."
2023-01-08T09:01:19.435254Z 
2023-01-08T09:01:19.452912Z [svelte-preprocess] Don't forget to install the preprocessors packages that will be used: node-sass/sass, stylus, less, postcss & postcss-load-config, coffeescript, pug, etc...
2023-01-08T09:01:19.462105Z 
2023-01-08T09:01:19.462323Z > @sveltejs/kit@1.0.7 postinstall /opt/buildhome/repo/node_modules/@sveltejs/kit
2023-01-08T09:01:19.462463Z > node postinstall.js
2023-01-08T09:01:19.462591Z 
2023-01-08T09:01:19.54091Z  (node:1280) ExperimentalWarning: The ESM module loader is experimental.
2023-01-08T09:01:19.54854Z  file:///opt/buildhome/repo/node_modules/@sveltejs/kit/postinstall.js:8
2023-01-08T09:01:19.548917Z     const cwd = process.env.INIT_CWD ?? process.cwd();
2023-01-08T09:01:19.549332Z                                       ^
2023-01-08T09:01:19.549795Z 
2023-01-08T09:01:19.550115Z SyntaxError: Unexpected token '?'
2023-01-08T09:01:19.55025Z      at Loader.moduleStrategy (internal/modules/esm/translators.js:81:18)
2023-01-08T09:01:19.550382Z     at async link (internal/modules/esm/module_job.js:37:21)
2023-01-08T09:01:19.766314Z npm WARN my-svelte-app@0.0.1 No repository field.
2023-01-08T09:01:19.766651Z npm WARN my-svelte-app@0.0.1 No license field.
2023-01-08T09:01:19.766834Z npm WARN optional SKIPPING OPTIONAL DEPENDENCY: @esbuild/android-arm@0.16.15 (node_modules/@esbuild/android-arm):
2023-01-08T09:01:19.76696Z  npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for @esbuild/android-arm@0.16.15: wanted {"os":"android","arch":"arm"} (current: {"os":"linux","arch":"x64"})
2023-01-08T09:01:19.767081Z npm WARN optional SKIPPING OPTIONAL DEPENDENCY: @esbuild/android-arm64@0.16.15 (node_modules/@esbuild/android-arm64):
2023-01-08T09:01:19.767199Z npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for @esbuild/android-arm64@0.16.15: wanted {"os":"android","arch":"arm64"} (current: {"os":"linux","arch":"x64"})
2023-01-08T09:01:19.76732Z  npm WARN optional SKIPPING OPTIONAL DEPENDENCY: @esbuild/android-x64@0.16.15 (node_modules/@esbuild/android-x64):
2023-01-08T09:01:19.767428Z npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for @esbuild/android-x64@0.16.15: wanted {"os":"android","arch":"x64"} (current: {"os":"linux","arch":"x64"})
2023-01-08T09:01:19.767584Z npm WARN optional SKIPPING OPTIONAL DEPENDENCY: @esbuild/darwin-arm64@0.16.15 (node_modules/@esbuild/darwin-arm64):
2023-01-08T09:01:19.767732Z npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for @esbuild/darwin-arm64@0.16.15: wanted {"os":"darwin","arch":"arm64"} (current: {"os":"linux","arch":"x64"})
2023-01-08T09:01:19.76785Z  npm WARN optional SKIPPING OPTIONAL DEPENDENCY: @esbuild/darwin-x64@0.16.15 (node_modules/@esbuild/darwin-x64):
2023-01-08T09:01:19.767996Z npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for @esbuild/darwin-x64@0.16.15: wanted {"os":"darwin","arch":"x64"} (current: {"os":"linux","arch":"x64"})
2023-01-08T09:01:19.768109Z npm WARN optional SKIPPING OPTIONAL DEPENDENCY: @esbuild/linux-arm@0.16.15 (node_modules/@esbuild/linux-arm):
2023-01-08T09:01:19.76822Z  npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for @esbuild/linux-arm@0.16.15: wanted {"os":"linux","arch":"arm"} (current: {"os":"linux","arch":"x64"})
2023-01-08T09:01:19.768328Z npm WARN optional SKIPPING OPTIONAL DEPENDENCY: @esbuild/linux-loong64@0.16.15 (node_modules/@esbuild/linux-loong64):
2023-01-08T09:01:19.76844Z  npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for @esbuild/linux-loong64@0.16.15: wanted {"os":"linux","arch":"loong64"} (current: {"os":"linux","arch":"x64"})
2023-01-08T09:01:19.768567Z npm WARN optional SKIPPING OPTIONAL DEPENDENCY: @esbuild/linux-arm64@0.16.15 (node_modules/@esbuild/linux-arm64):
2023-01-08T09:01:19.768684Z npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for @esbuild/linux-arm64@0.16.15: wanted {"os":"linux","arch":"arm64"} (current: {"os":"linux","arch":"x64"})
2023-01-08T09:01:19.768799Z npm WARN optional SKIPPING OPTIONAL DEPENDENCY: @esbuild/linux-ia32@0.16.15 (node_modules/@esbuild/linux-ia32):
2023-01-08T09:01:19.768908Z npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for @esbuild/linux-ia32@0.16.15: wanted {"os":"linux","arch":"ia32"} (current: {"os":"linux","arch":"x64"})
2023-01-08T09:01:19.769014Z npm WARN optional SKIPPING OPTIONAL DEPENDENCY: @esbuild/linux-mips64el@0.16.15 (node_modules/@esbuild/linux-mips64el):
2023-01-08T09:01:19.769137Z npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for @esbuild/linux-mips64el@0.16.15: wanted {"os":"linux","arch":"mips64el"} (current: {"os":"linux","arch":"x64"})
2023-01-08T09:01:19.769274Z npm WARN optional SKIPPING OPTIONAL DEPENDENCY: @esbuild/freebsd-arm64@0.16.15 (node_modules/@esbuild/freebsd-arm64):
2023-01-08T09:01:19.769393Z npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for @esbuild/freebsd-arm64@0.16.15: wanted {"os":"freebsd","arch":"arm64"} (current: {"os":"linux","arch":"x64"})
2023-01-08T09:01:19.769517Z npm WARN optional SKIPPING OPTIONAL DEPENDENCY: @esbuild/freebsd-x64@0.16.15 (node_modules/@esbuild/freebsd-x64):
2023-01-08T09:01:19.769633Z npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for @esbuild/freebsd-x64@0.16.15: wanted {"os":"freebsd","arch":"x64"} (current: {"os":"linux","arch":"x64"})
2023-01-08T09:01:19.769765Z npm WARN optional SKIPPING OPTIONAL DEPENDENCY: @esbuild/linux-riscv64@0.16.15 (node_modules/@esbuild/linux-riscv64):
2023-01-08T09:01:19.769876Z npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for @esbuild/linux-riscv64@0.16.15: wanted {"os":"linux","arch":"riscv64"} (current: {"os":"linux","arch":"x64"})
2023-01-08T09:01:19.769986Z npm WARN optional SKIPPING OPTIONAL DEPENDENCY: @esbuild/openbsd-x64@0.16.15 (node_modules/@esbuild/openbsd-x64):
2023-01-08T09:01:19.770094Z npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for @esbuild/openbsd-x64@0.16.15: wanted {"os":"openbsd","arch":"x64"} (current: {"os":"linux","arch":"x64"})
2023-01-08T09:01:19.770209Z npm WARN optional SKIPPING OPTIONAL DEPENDENCY: @esbuild/linux-ppc64@0.16.15 (node_modules/@esbuild/linux-ppc64):
2023-01-08T09:01:19.770315Z npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for @esbuild/linux-ppc64@0.16.15: wanted {"os":"linux","arch":"ppc64"} (current: {"os":"linux","arch":"x64"})
2023-01-08T09:01:19.77042Z  npm WARN optional SKIPPING OPTIONAL DEPENDENCY: @esbuild/sunos-x64@0.16.15 (node_modules/@esbuild/sunos-x64):
2023-01-08T09:01:19.770535Z npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for @esbuild/sunos-x64@0.16.15: wanted {"os":"sunos","arch":"x64"} (current: {"os":"linux","arch":"x64"})
2023-01-08T09:01:19.77065Z  npm WARN optional SKIPPING OPTIONAL DEPENDENCY: @esbuild/netbsd-x64@0.16.15 (node_modules/@esbuild/netbsd-x64):
2023-01-08T09:01:19.770776Z npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for @esbuild/netbsd-x64@0.16.15: wanted {"os":"netbsd","arch":"x64"} (current: {"os":"linux","arch":"x64"})
2023-01-08T09:01:19.770884Z npm WARN optional SKIPPING OPTIONAL DEPENDENCY: @esbuild/win32-ia32@0.16.15 (node_modules/@esbuild/win32-ia32):
2023-01-08T09:01:19.771Z    npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for @esbuild/win32-ia32@0.16.15: wanted {"os":"win32","arch":"ia32"} (current: {"os":"linux","arch":"x64"})
2023-01-08T09:01:19.771113Z npm WARN optional SKIPPING OPTIONAL DEPENDENCY: @esbuild/win32-arm64@0.16.15 (node_modules/@esbuild/win32-arm64):
2023-01-08T09:01:19.77123Z  npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for @esbuild/win32-arm64@0.16.15: wanted {"os":"win32","arch":"arm64"} (current: {"os":"linux","arch":"x64"})
2023-01-08T09:01:19.771342Z npm WARN optional SKIPPING OPTIONAL DEPENDENCY: @esbuild/win32-x64@0.16.15 (node_modules/@esbuild/win32-x64):
2023-01-08T09:01:19.771467Z npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for @esbuild/win32-x64@0.16.15: wanted {"os":"win32","arch":"x64"} (current: {"os":"linux","arch":"x64"})
2023-01-08T09:01:19.771587Z npm WARN optional SKIPPING OPTIONAL DEPENDENCY: @esbuild/linux-s390x@0.16.15 (node_modules/@esbuild/linux-s390x):
2023-01-08T09:01:19.771735Z npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for @esbuild/linux-s390x@0.16.15: wanted {"os":"linux","arch":"s390x"} (current: {"os":"linux","arch":"x64"})
2023-01-08T09:01:19.771964Z npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@2.3.2 (node_modules/fsevents):
2023-01-08T09:01:19.772172Z npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@2.3.2: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
2023-01-08T09:01:19.772422Z 
2023-01-08T09:01:19.786481Z npm ERR! code ELIFECYCLE
2023-01-08T09:01:19.786756Z npm ERR! errno 1
2023-01-08T09:01:19.786894Z npm ERR! @sveltejs/kit@1.0.7 postinstall: `node postinstall.js`
2023-01-08T09:01:19.787007Z npm ERR! Exit status 1
2023-01-08T09:01:19.787115Z npm ERR! 
2023-01-08T09:01:19.78722Z  npm ERR! Failed at the @sveltejs/kit@1.0.7 postinstall script.
2023-01-08T09:01:19.787326Z npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
2023-01-08T09:01:19.807812Z 
2023-01-08T09:01:19.808172Z npm ERR! A complete log of this run can be found in:
2023-01-08T09:01:19.80831Z  npm ERR!     /opt/buildhome/.npm/_logs/2023-01-08T09_01_19_798Z-debug.log
2023-01-08T09:01:19.819585Z Error during NPM install
2023-01-08T09:01:19.822936Z Failed: build command exited with code: 1
2023-01-08T09:01:23.722393Z Failed: an internal error occurred

Solution

  • This was my own oversight. I incorrectly set the NODE_VERSION for the "preview" profile and not for the "production" profile. Actually - I'm not sure how to execute the preview profile, but in either case for what it's worth - pay close attention to which profile's environment variables you are setting within the Cloudflare settings dialogue.