npm WARN old lockfile The package-lock.json file was created with an old version of npm
There are several ways to deal with this:
Ignore it. It's just a warning, and all that's happening is
npm
is adding information to thepackage-lock.json
file.Run
npm ci
with a newer version ofnpm
in your development environment. It will give the warning and update thepackage-lock.json
file. Commit that version to the repo/Docker image or whatever.Downgrade
npm
to an older version in production. Consider runningnpm
version 6 as that is what ships with the current (as of this writing) LTS version of Node.js. In the case being asked about in this question, I imagine you can just leave out theRUN npm -g install npm@7.19.1
from the Dockerfile and instead use the version ofnpm
that is installed with the Docker image (which in this case will almost certainly benpm@6
since that is what ships with Node.js 14.x).Probably not useful here, but for completeness, I'll mention that if you already have a version of
npm
installed but want to run one command with an older version ofnpm
but otherwise keep the newer version, you can usenpx
(which ships withnpm
) to do that. Use the-p
flag to specify the version ofnpm
you want. For example,npx -p npm@6 npm ci
would runnpm ci
withnpm
version 6 even if you have version 7 installed.
I am having the same problem as well after upgrading my npm version, it seems like a bug from npm 7.19.1, I'd suggest to downgrade to an older version.
You can check below for all the npm versionshttps://www.npmjs.com/package/npm?activeTab=versions
install the desired version with this command in the console, substitute "V" with your desired version:
npm install -g npm@"V"
I had a similar problem but upgrading npm npm i -g npm
on my machine before building the image solved it for me. You may still get the warn message but the image build process won't be halted.