I am running the npm install in a public GitHub repo and it has locked the express at 4.17.0 in package-lock.json file which is the correc
npm install
4.17.0
package-lock.json
npm install xxx will every time generate a new lock file. (Actually it just ignores lock file and generate each time it execute)
npm install xxx
npm ci on the other hand, is the command to install packages based on lock file instead of package.json
npm ci
package.json