gpt4 book ai didi

javascript - 删除 `package-lock.json`快速解决冲突

转载 作者:行者123 更新时间:2023-12-03 12:43:05 33 4
gpt4 key购买 nike

在团队设置中,我通常在 package-lock.json 中遇到合并冲突。我的快速修复一直是删除文件并使用 npm install 重新生成它.我没有认真考虑过这个修复的含义,因为它之前没有引起任何可察觉的问题。

删除文件是否有问题 npm以这种方式重新创建它而不是手动解决冲突?

最佳答案

是的,它可以并且将以非常糟糕的方式影响所有项目。

  • 如果您的团队没有运行 npm install在每个 git pull 之后你们都在使用不同的依赖版本。所以它以“但它对我有用!!”结尾和“我不明白为什么我的代码不适合你”
  • 即使所有团队都跑npm install它仍然不意味着一切正常。在某些时候,您可能会发现您的项目表现不同。在你多年来没有改变的部分。在(可能非常痛苦)调试之后,您会发现这是因为第三级依赖项已针对下一个主要版本进行了更新,这导致了一些重大更改。

  • 结论:永远不要删除 package-lock.json .
    是的,对于第一级依赖关系,如果我们指定它们没有范围(如 "react": "16.12.0" ),我们每次运行 npm install 时都会得到相同的版本。 .但是我们不能对 2+ 级深度的依赖(我们的依赖所依赖的依赖)说同样的话,所以 package-lock.json对于稳定性真的很重要。
    在您的情况下,您最好采用以下方式:
  • 修复 package.json 中的冲突
  • 运行 npm install

  • 看起来很简单。与 yarn 一样——它自己修复了 lockfile 冲突。这里唯一的要求是解决 package.json 中的所有冲突。事先如果有的话。
    根据 docs npm 将修复 package-lock.json 中的合并冲突为你。
    [从 2021 年更新] 重要!如果你已经使用了一些库,并且它的维护者的 npm/GitHub 帐户被黑了。并且发布了包含恶意代码的新版本。你有 package-lock.json完好无损的。你会好起来的。如果你放弃它,你就有麻烦了。

    关于javascript - 删除 `package-lock.json`快速解决冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54124033/

    33 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com