14

使用相同的 git 存储库,如果我删除node_modulesand package-lock.json,我的期望是每次运行npm install都应该生成相同的文件(提供或获取一些可能在此期间由发布者更新的模块。package-lock.json

我发现,根据我是在 OSX 机器上还是在 Linux 机器上执行此操作,我会得到截然不同的文件。

这是可以预料的吗?如果是这样,提交文件的价值是什么package-lock.json,因为它在这些系统之一上是无效的。如果没有,这里可能会发生什么?

4

1 回答 1

8

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

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

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

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

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

于 2018-01-03T23:57:22.030 回答