netlify / build-image

This is the build image used for running automated builds
MIT License
496 stars 197 forks source link

Not respecting pnpm version specified in packageManager field of package.json #899

Open sapphi-red opened 1 year ago

sapphi-red commented 1 year ago

Is your build failing? No

Describe the bug It's documented that pnpm version of packageManager is used.

To specify a pnpm version, you can edit your package.json file: https://docs.netlify.com/configure-builds/manage-dependencies/#pnpm

But the default version (7.13.4) is used even if packageManager field exists.

To Reproduce

Steps to reproduce the behavior:

  1. Fork the repository at https://github.com/sapphi-red-repros/netlify-pnpm-cannot-iterate-over-repro
  2. Checkout commit 204df13623a9a831a0a663844fa02fb49b531dd2
  3. Create a Netlify site and link it to the forked repository
  4. See that the Netlify build uses pnpm@7.13.4 (log)

Configuration

[build.environment]
  NODE_VERSION = "16"
[build]
  publish = "packages/foo/.vitepress/dist"
  command = "pnpm build-foo"

Expected behavior pnpm@7.25.0 is used.

Build Output N/A

Additional context I guess this is happening because of this error when running mv. https://app.netlify.com/sites/dashing-marzipan-db6e0f/deploys/63ca21d3e60cb2209d3758ad#L23

sapphi-red commented 1 year ago

Ah, no, I was wrong. pnpm@7.25.0 is actually used. But the activation for pnpm@7.13.4 is running even if it's not needed, I guess.