删除`package-lock.json`以快速解决冲突
通常,在建立团队的过程中,我遇到了合并冲突,package-lock.json
而我的快速解决方案一直是删除文件并使用重新生成文件npm
install。我没有认真考虑此修复程序的含义,因为它以前没有引起任何可察觉的问题。
删除文件并以npm
这种方式重新创建而不是手动解决冲突是否存在问题?
回答:
是的,它可能并且将以非常糟糕的方式影响所有项目。
如果您的团队
npm install
在每次git pull
使用后都没有运行,则你们都使用不同的依赖项版本。因此,其结尾为“但对我有用!!” 和“我不明白为什么我的代码对您不起作用”即使所有团队都运转了
npm install
,也并不意味着一切都很好。在某些时候,您可能会发现项目的行为有所不同。在某种程度上,您已经多年没有改变了。在调试之后(可能很痛苦),您会发现这是因为下一个主要版本的3级依赖关系已更新,这导致了一些重大更改。
结论:永远不要删除package-lock.json
。在您的情况下,您最好采取以下方法:
- 恢复您的更改
package-lock.json
stash
你的改变pull
最新代码版本- 运行
npm install
您需要添加的所有依赖项 - 散布您的更改。
- 运行合并
- 为解决冲突,请选择“仅更改”
package-lock.json
- 运行,
npm install
以便您要添加的依赖项也包含在其中package-lock.json
- 完成合并合并提交。
PS是的,对于第一级依赖关系,如果我们指定它们不带范围(例如"react": "16.12.0"
),则每次运行时都会得到相同的版本npm
install。但是对于2级以上级别的依赖关系(我们的依赖关系所依赖的依赖关系),我们不能说相同的话,因此package-
lock.json对于稳定性而言确实很重要。
以上是 删除`package-lock.json`以快速解决冲突 的全部内容, 来源链接: utcz.com/qa/436445.html