描述bug
在切换分支后,我经常会遇到启动Storybook时出现的以下错误类型(导致它无法加载)
The file does not exist at "<PROJECT_PATH>/node_modules/.cache/storybook/a6871e0c26d33fcbda0875414a230db7277d874a67a0ffb34bdf44755e21997a/sb-vite/deps/chunk-WMAVEDOJ.js?v=78430ec4" which is in the optimize deps directory.
The dependency might be incompatible with the dep optimizer. Try adding it to `optimizeDeps.exclude`.
删除 .cache
文件夹甚至整个 node_modules
文件夹都无法解决这个问题。
然而,有几个方法可以解决它(直到再次出现问题):
- 更改/升级Storybook版本(任何版本升级都可以)
- 更改Storybook的
main.ts
配置(似乎任何更改都可以) - 对仓库进行全新的克隆
然而,撤销上述更改会导致问题重新出现。我能想到的唯一原因是全局或至少在项目文件夹之外发生了某种缓存(由Vite或Storybook完成),但我找不到任何关于这方面的文档。
复现链接
抱歉,我没有,可能因项目而异
复现步骤
我没有复现步骤,因为它发生得相当随机。通常发生在在功能分支之间切换然后返回时。
系统
Storybook Environment Info:
System:
OS: macOS 14.4.1
CPU: (8) arm64 Apple M1
Shell: 5.9 - /bin/zsh
Binaries:
Node: 18.18.1 - ~/.local/state/fnm_multishells/98494_1720679783884/bin/node
Yarn: 4.1.1 - /opt/homebrew/bin/yarn <----- active
npm: 9.8.1 - ~/.local/state/fnm_multishells/98494_1720679783884/bin/npm
Browsers:
Safari: 17.4.1
附加上下文
Storybook版本:8.1.11
构建器:@storybook/react-vite
项目是一个使用Yarn 4工作区的多仓库项目
4条答案
按热度按时间u3r8eeie1#
很遗憾,如果没有复现问题,我们很难调查。你能缩小有问题的依赖项范围吗?看到你的故事书依赖项也会有帮助。
oug3syen2#
我理解,但问题似乎是以一种看似不可预测的方式发生的,而且似乎非常具体地针对这个项目。该项目有很多内部包作为依赖项,所以这并没有帮助。Vite错误并不十分有用,因为它没有提到与哪个依赖项相关,只是说一些缓存的块丢失了。
optimizeDeps.exclude
,但只要配置发生变化,问题就会暂时消失。这使得不清楚是否是正确的包。实际上,我现在放了以下内容,到目前为止,通过始终“更改”配置来解决整个问题。optimizeDeps.include
和optimizeDeps.force
,但都没有成功。我只是想知道是什么解释了对
optimizeDeps
设置的任何更改会暂时解决问题,以及任何故事书版本升级也是如此。ogq8wdun3#
如果这个数据点有帮助的话,我今天第一次在vite构建的React应用中遇到了这个错误(与Storybook无关),在调用
vite build
之后:The file does not exist at "[...project directory]/node_modules/.vite/deps
删除该目录的内容并重新运行vite build后,它又变得正常了。我搜索了一下,关于这种错误条件的信息非常少。
lokaqttq4#
在删除该目录的内容并重新运行vite build之后,
在使用Vite构建器创建的Storybook中,依赖项缓存在
sb-vite
目录中,但是删除它,甚至运行rm -rf ./**/node_modules
都无法解决我的问题。我能想到的唯一原因是某种全局缓存正在以某种方式发生。