Why does “npm install” rewrite package-lock.json?

I just recently upgraded to [email protected]. I now have a package-lock.json file with everything from package.json. I would expect that, when I run npm install that the dependency versions would be pulled from the lock file to determine what should be installed in my node_modules directory. What’s strange is that it actually ends up modifying and rewriting my package-lock.json file.

Is there a way to force npm to generate package-lock.json?

I deleted it by accident and have made many changes to package.json since. An npm install or npm update do not generate package-lock.json anymore. I tried clearing my npm cache and my nvm cache, but nothing seems to be working. I tried it on several versions of Node.js (6.10.3 Node.js – 3.10.10 npm is what I would like it to work on), and it doesn’t work on any.