首页 > 解决方案 > 为什么我在 yarn.lock 的同一个库中有 2 个条目

问题描述

要查看主要问题,请查看来自 yarn.lock 的代码片段:

moment@<2.26.0:
  version "2.25.3"
  resolved "https://registry.yarnpkg.com/moment/-/moment-2.25.3.tgz#252ff41319cf41e47761a1a88cab30edfe9808c0"

"moment@>= 2.9.0", moment@>=2.14.0, moment@^2.10.2, moment@^2.22.2, moment@^2.8.2, moment@^2.9.0:
  version "2.26.0"
  resolved "https://registry.yarnpkg.com/moment/-/moment-2.26.0.tgz#5e1f82c6bafca6e83e808b30c8705eed0dcbd39a"

我怎么会来到这里?

  1. 已删除node_modules
  2. 编辑过的 package.json:替换"moment": "2.24.0","moment": "<2.26.0",
  3. yarn install

现在做yarn start应用程序时无法启动。我收到 TS 编译错误,这是由混合不兼容的版本引起的:https ://github.com/ant-design/ant-design/issues/24377

它看起来像一个 TS 依赖地狱。如何解决?为什么有 2 个不同版本的“时刻”库?

标签: momentjsdependency-managementyarnpkgpackage.json

解决方案


如何解决?

手动合并两个条目

moment@<2.26.0, "moment@>= 2.9.0", moment@>=2.14.0, moment@^2.10.2, moment@^2.22.2, moment@^2.8.2, moment@^2.9.0:
  version "2.25.3"
  resolved "https://registry.yarnpkg.com/moment/-/moment-2.25.3.tgz#252ff41319cf41e47761a1a88cab30edfe9808c0"

并运行yarn install


推荐阅读