我们的团队刚刚更新为npm @ 5。 package-lock.json
在Windows和Mac之间统一(某些依赖项是可选的,因此它们不会在Windows上安装,但它们在Mac上执行),因此无论机器如何,我们都会生成相同的node_modules结构。这都很好,那么每一个团队成员通过以下步骤去的:什么是“要求:真”在package-lock.json中做什么
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
文件被删除?另外,对这个属性做些什么不会有什么伤害。 :)
在此先感谢!
我有同样的问题。我正在使用'node 8.1.2'和'npm 5.0.4'。看看他们的文档,没有提到任何“需要”。我也很好奇这是什么。请注意,删除它似乎不会实际上破坏任何东西(适用于我们的CI和分段服务器) – lkartono
更新:它似乎与npm版本有关。刚刚更新为'npm 5.1.0','require:true'消失。然而,我所有的依赖现在都有一个“require”键。我认为'require:true'强制'package-lock.json'以嵌套的方式列出依赖关系的依赖关系。 – lkartono
请参阅https://github.com/npm/npm/pull/19307获取将规范文件中的解释移至帮助页面的PR –