考虑我有一个包含以下两个包的package.json文件

{
     "dependencies": {
        "async": "^2.5.0",
        "moment": "latest"
     }
 }

当我运行"npm install"时,将创建一个package-lock.json,其中包含异步和时刻修复版本 . 我希望再次运行"npm install"不会改变两个软件包的package-lock.json(reference)的内容 . 这是为了确保在不同时间内在不同环境中使用相同包的项目构建 . 比方说,我可以在我的package.json中使用^ 2.5.0,或者我的某些依赖项使用这种方式,但是我怎样才能确保每次"npm install"都会在我的开发机器和构建服务器中选择相同的版本?根据我的理解,package-lock.json可以确保这一点(至少对于以semver格式指定的依赖项是这样) . 但对于使用"latest"的软件包来说,这似乎不正确 .