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