问题描述
我有一个由lerna管理的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容器中
- 运行
yarn
以安装所有依赖项 - 运行
yarn upgrade-interactive
但是我得到完全相同的错误。
我一直在寻找答案,但是都没有解决我的问题。最让我印象深刻的是,似乎没有人知道为什么为什么。
任何人都可以解释为什么会发生这种情况以及如何重现此问题吗?一旦知道原因,我们就有更好的机会找到合适的解决方案。
技术细节:
- 节点12.18
- 纱线1.22
- 莱娜3.20
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)