How to update package-lock.json without doing npm install?

Sergei Panfilov picture Sergei Panfilov · Sep 10, 2019 · Viewed 16.2k times · Source

Question

Is it a way to update/generate package-lock.json without making real install of node_modules (like npm i)? I just need a valid package-lock.json based on my package.json, that's it.

Motivation

You (or your colleagues) might use yarn locally, when CI server uses npm. It's probably not a best practice, but still might be for some reasons.

In a perfect world I'd like to have a command to update package-lock.json

Bouns question: Same for yarn. Is it a way to generate yarn-lock.json without modules install (yarn install)?

Answer

Teh picture Teh · Sep 10, 2019

npm

As of npm 6.x, you can use the following command:

npm i --package-lock-only

Documentation (https://docs.npmjs.com/cli/install.html) says:

The --package-lock-only argument will only update the package-lock.json, instead of checking node_modules and downloading dependencies.

yarn

As of Sep. 10, 2019: yarn doesn't seem to support generating a lock-file without installing the modules. Relevant GitHub issue: https://github.com/yarnpkg/yarn/issues/5738