Yarn 3 Workspaces中Storybook传递依赖版本锁定失败求助
解决Yarn v3 Workspaces锁定传递依赖版本的问题
下面是针对你遇到的enhanced-resolve版本锁定失效问题的几种解决思路:
使用更精确的resolutions选择器
在根目录package.json中,针对Storybook工作区指定更精准的依赖锁定规则,避免全局规则被其他工作区干扰。假设你的Storybook工作区包名为storybook-app,配置如下:"resolutions": { "storybook-app/**/enhanced-resolve": "5.10.0" }清除缓存并重新安装依赖
旧缓存可能导致版本锁定不生效,执行以下命令强制刷新依赖:yarn cache clean yarn install若存在依赖重复问题,可额外执行
yarn dedupe来统一版本。排查依赖树定位冲突源
用yarn why enhanced-resolve命令查看完整的依赖树,确认哪个上游包在拉取非目标版本的enhanced-resolve。根据输出结果,针对性地锁定该上游包的子依赖,比如如果是webpack依赖的,可修改resolutions为:"resolutions": { "webpack/enhanced-resolve": "5.10.0" }直接在Storybook工作区安装指定版本
跳过传递依赖锁定,直接将enhanced-resolve@5.10.0安装到Storybook工作区的devDependencies中,强制该工作区使用指定版本:cd packages/storybook-app yarn add enhanced-resolve@5.10.0 --dev升级Yarn v3到最新稳定版
部分旧版Yarn v3对resolutions的工作区支持存在bug,执行命令升级到最新版:yarn set version stable
内容的提问来源于stack exchange,提问作者decodedcreative
相关产品推荐
相关产品推荐

