gpt4 book ai didi

yarnpkg - 当我尝试升级某些依赖项时,为什么 Yarn 会抛出 "Invariant Violation: expected workspace package to exist"?

转载 作者:行者123 更新时间:2023-12-04 11:04:07 24 4
gpt4 key购买 nike

我有一个由 管理的 monorepo它依赖于 Yarn 工作区功能。它看起来像这样:

/repo
|-- packages
| |-- pkg-a
| | |-- package.json
| |-- pkg-b
| | |-- package.json
| |-- pkg-c
| | |-- package.json
|-- package.json
我用 yarn upgrade-interactive更新我的软件包中的一系列依赖项,但出现此错误:
Invariant Violation: expected workspace package to exist for "@babel/plugin-transform-classes"
然而,这不是我的直接依赖。当我在我所有的 package.json 中搜索它时文件我什么也没得到:
$ find . -name "package.json" -and -not -path "*/node_modules/*" | xargs grep "@babel/plugin-transform-classes"
$
它存在于我的 yarn.lock 中文件虽然:
$ grep "@babel/plugin-transform-classes" yarn.lock
"@babel/plugin-transform-classes@^7.10.4":
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.10.4.tgz#405136af2b3e218bc4a1926228bc917ab1a0adc7"
"@babel/plugin-transform-classes@^7.4.0":
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.4.0.tgz#e3428d3c8a3d01f33b10c529b998ba1707043d4d"
"@babel/plugin-transform-classes" "^7.4.0"
"@babel/plugin-transform-classes" "^7.10.4"
$
我怀疑存在某种缓存问题,因此我尝试在 Docker 容器内从头开始:
  • 全部删除 node_modules文件夹
  • 在 Docker 容器中挂载 repo
  • 运行 yarn安装所有依赖项
  • 运行 yarn upgrade-interactive

  • 但我得到了完全相同的错误。
    我去寻找答案,但没有人解决我的问题。最让我印象深刻的是,似乎没有人知道它为什么会发生。
    任何人都可以解释为什么会发生这种情况以及如何重现此问题?一旦我们知道原因,我们就有更好的机会找到合适的解决方案。
    技术细节:
  • 节点 12.18
  • yarn 1.22
  • 勒纳 3.20
  • 最佳答案

    好像是个bug
    https://github.com/yarnpkg/yarn/issues/7734#issuecomment-580012389
    并且官方建议是降级到Yarn 1.19.x 或者手动升级包(Yarn 1 已弃用)。
    https://github.com/yarnpkg/yarn/issues/7734#issuecomment-671729912
    另外,您可以尝试使用 https://www.npmjs.com/package/npm-check-updates CLI 实用程序

    关于yarnpkg - 当我尝试升级某些依赖项时,为什么 Yarn 会抛出 "Invariant Violation: expected workspace package to exist"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64060218/

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