当我在不同系统上运行`npm install`时,为什么会得到截然不同的`package-lock.json`文件

时间:2017-07-26 18:48:52

标签: node.js npm package-lock.json

使用相同的git存储库,如果我删除node_modulespackage-lock.json,我的期望是每次运行npm install应生成相同的package-lock.json文件(给予或接受)一些模块可能会在过渡期间由发布者更新。

我发现我得到 不同的文件,具体取决于我是在OSX计算机上还是在Linux计算机上执行此操作。

这是预期的吗?如果是这样,提交package-lock.json文件的值是多少,因为它在其中一个系统上无效。如果没有,可能会发生什么?

1 个答案:

答案 0 :(得分:5)

某些依赖项在某些平台上是可卸载的。您可能有一些可以安装在OSX机器上但不能安装在Linux上。这就是为什么每次执行npm i时,package-lock.json都会更新

例如,正如其他一些用户指出的那样,有一个包fsevents包对os的严格要求

你可以在github上找到一些未解决的问题:

https://github.com/npm/npm/issues/17722

https://github.com/npm/npm/issues/18202