让我们考虑下午Graph()
。
想象一下,我刚在空目录中创建了5.3.0+
并运行package.json
。然后我在npm i
编辑了包版本。此时,package.json
与package.json
不一致。
问题:如果再次运行package-lock.json
会怎样?哪个文件是真相的来源?在npm docs中,我发现只有一个模糊的声明“每当你运行npm install时,npm会生成或更新你的包锁”。
纱线的问题。
答案 0 :(得分:0)
使用yarn
时遇到类似的问题。这里有一些想法可能对您有帮助,
如果存在yarn.lock并且足以满足package.json中列出的所有依赖关系,则会安装yarn.lock中记录的确切版本,并且yarn.lock将保持不变。 Yarn不会检查较新的版本。
如果不存在yarn.lock,或者不足以满足package.json中列出的所有依赖项(例如,如果您手动将依赖项添加到package.json),则Yarn会寻找满足以下条件的最新版本: package.json中的约束。结果被写入yarn.lock。
{{3}}
哪个文件是事实的来源?
这取决于yarn.lock中的第三方软件包的版本是否满足软件包 package.json中版本的限制。如果是的话,yarn.lock文件就是“真理的源头”;否则,应该是package.json。