Cannot install with "frozen-lockfile" because pnpm-lock.yaml is absent
tomwray13
HOBBYOP

2 years ago

Very strange - my app had a few successful deployments, but then suddenly started showing this error in the build logs:


#10 [stage-0 6/10] RUN --mount=type=cache,id=s/bc258607-d27e-4d67-b920-1acd0487676c-/root/local/share/pnpm/store/v3,target=/root/.local/share/pnpm/store/v3 pnpm i --frozen-lockfile

#10 1.244 Scope: all 3 workspace projects

#10 1.346  WARN  Ignoring not compatible lockfile at /app/pnpm-lock.yaml

#10 1.351  ERR_PNPM_NO_LOCKFILE  Cannot install with "frozen-lockfile" because pnpm-lock.yaml is absent

#10 1.351

#10 1.351 Note that in CI environments this setting is true by default. If you still need to run install in such cases, use "pnpm install --no-frozen-lockfile"

#10 ERROR: process "/bin/bash -ol pipefail -c pnpm i --frozen-lockfile" did not complete successfully: exit code: 1


Here's the build logs:

https://railway.app/project/f2e534f9-270a-40d7-b188-5b83100783e3/service/bc258607-d27e-4d67-b920-1acd0487676c?id=634e1bd1-c2e5-44b5-9a9a-ae3daddab409

To be clear as well, I'm running pnpm v8 on my local machine and the pnpm lockfile is based on this pnpm version

Solved

5 Replies

2 years ago

Make sure you are using pnpm V8 locally because that's what nixpacks uses. you are likely using pnpm V9 locally on account of this error message -

Ignoring not compatible lockfile at /app/pnpm-lock.yaml

rsodre
TRIAL

2 years ago

really!? I have to downgrade my pnpm...?

please support pnpm 9!


2 years ago

It's been the easiest solution I have found, personally I would use a Dockerfile so I'm not relying on nixpacks to support a specific version of anything.


Status changed to Solved Railway about 2 years ago


rsodre
TRIAL

2 years ago

This config worked for me:

https://github.com/railwayapp/nixpacks/issues/1091#issuecomment-2109028614

So, nixpacks is made by railway....

No excuses to support pnpm 9 now.


qudo
HOBBY

2 years ago

yeah, just ran into this and fixed it with the above. the following config should be default.

// nixpacks.toml

providers = ["node"]

[phases.install]

cmds = ["npm install -g corepack", "corepack enable", "corepack prepare pnpm@9.1.0 --activate", "pnpm install"]


Welcome!

Sign in to your Railway account to join the conversation.

Loading...