在组建的团队中,通常,我会在
package-lock.json
中遇到合并冲突,我的快速解决方法始终是删除文件并使用 npm install
重新生成它。我没有认真考虑此修复的含义,因为它之前没有引起任何可察觉的问题。
删除文件并以这种方式重新创建文件而不是手动解决冲突是否存在问题?
npm
之后没有运行
npm install
,那么你们都在使用不同的依赖项版本。所以它以“但这对我有用!!”结尾。和“我不明白为什么我的代码不适合你”
git pull
,也不意味着一切都好。有时您可能会发现您的项目表现不同。多年来你一直没有改变的部分。在(可能非常痛苦)调试之后,您会发现这是因为第三级依赖项已更新为下一个主要版本,这导致了一些重大更改。
npm install
。
是的,对于第一级依赖项,如果我们在没有范围的情况下指定它们(如package-lock.json
),我们每次运行
"react": "16.12.0"
时都会得到相同的版本。但我们不能对 2+ 级深度的依赖关系(我们的依赖关系所依赖的依赖关系)说同样的话,所以 npm install
对于稳定性来说非常重要。在你的情况下,你最好采取下一步行动:
修复
package-lock.json
中的冲突奔跑
package.json
npm install
中的所有冲突(如果有)。
Per docs npm 将为您解决 package.json
中的合并冲突。
package-lock.json
。你会好起来的。如果你丢掉它,你就有麻烦了。
package-lock.json
,而您曾经在
"moduleX": "^1.0.0"
中使用 "moduleX": "1.0.0"
。通过删除 package-lock.json
并运行
package-lock.json
,您可能会在不知情的情况下更新到 moduleX 的 1.0.999 版本,并且可能他们已经创建了一个错误或进行了向后破坏性更改(不遵循语义版本控制)。无论如何,已经有一个标准的解决方案了。
解决内部冲突
npm install
package.json
npx npm-merge-driver install --global
为我做工作