什么是“要求:真”包装
  我们的团队刚刚更新为npm @ 5。  package-lock.json在Windows和Mac之间统一(某些依赖项是可选的,因此它们不会在Windows上安装,但它们在Mac上执行),因此无论机器如何,我们都会生成相同的node_modules结构。  这很顺利,然后每个团队成员都经历了以下步骤: 
rm -rf node_modules git pull npm install   实际上这对所有团队成员来说都是完美的,除了一个,在npm install后修改了package-lock.json 。  修改后的一行是删除"requires": true 。 
所以我看到:
{
  ...
  "version": "0.0.1",
  "lockfileVersion": 1,
  "requires": true,
  "dependencies": {
  ...
}
但他看到:
{
  ...
  "version": "0.0.1",
  "lockfileVersion": 1,
  "dependencies": {
  ...
}
  有人知道为什么requires: true可能会从某些机器上的package-lock.json文件中删除,而不是其他人?  另外,对这个属性做些什么不会有什么伤害。  :) 
提前致谢!
  正如我在我的评论中所怀疑的那样,自5.1.0开始, requires字段已被添加。  你可以在这里看到相关的请求https://github.com/npm/npm/pull/17508(changelog可见https://github.com/npm/npm/releases/tag/v5.1.0) 
引用它所说的话:
这有一些修复:
  为了避免这种冲突,我建议你(也包括我自己)确保你所有的队友都使用相同的npm版本。 
UPDATE
  将npm升级到版本5.1.0 ,我遇到了缺少依赖关系的问题(使用Angular 4应用程序)。  如果有人遇到同样的问题,这是我做了什么来解决它: 
rm -rf node_modules
npm prune
npm install
希望能帮助到你。
链接地址: http://www.djcxy.com/p/96853.html上一篇: What does "requires: true" do in package
下一篇: Why Mockito can't mock a generic parameter type with number type in Kotlin?
