描述bug
在将项目从storybook 7升级到8时,我注意到服务器不再工作,出现了以下错误:
Error: Invariant failed: Expected package.json#version to be defined in the "undefined" package}
at invariant (/home/jojoxd/Development/<PROJECT>/node_modules/@storybook/core/dist/core-server/index.cjs:187629:11)
at buildDevStandalone (/home/jojoxd/Development/<PROJECT>/node_modules/@storybook/core/dist/core-server/index.cjs:189878:3)
at Object.build (/home/jojoxd/Development/<PROJECT>/node_modules/@storybook/core/dist/core-server/index.cjs:190006:12)
at runInstance (/home/jojoxd/Development/<PROJECT>/node_modules/@nx/storybook/src/executors/storybook/storybook.impl.js:26:18)
at storybookExecutor (/home/jojoxd/Development/<PROJECT>/node_modules/@nx/storybook/src/executors/storybook/storybook.impl.js:12:26)
at storybookExecutor.next (<anonymous>)
at getLastValueFromAsyncIterableIterator (/home/jojoxd/Development/<PROJECT>/node_modules/nx/src/utils/async-iterator.js:15:34)
at iteratorToProcessStatusCode (/home/jojoxd/Development/<PROJECT>/node_modules/nx/src/command-line/run/run.js:44:94)
at /home/jojoxd/Development/<PROJECT>/node_modules/nx/src/command-line/run/run.js:187:16
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
看起来这个更改是错误的,因为应该读取package.json的内容,而不是获取dirname。
复现链接
https://example.com/there-is-no-reproduction
复现步骤
- 无响应*
系统
Storybook Environment Info:
System:
OS: Linux 6.8 Ubuntu 24.04 LTS 24.04 LTS (Noble Numbat)
CPU: (8) x64 11th Gen Intel(R) Core(TM) i5-1135G7 @ 2.40GHz
Shell: 5.9 - /usr/bin/zsh
Binaries:
Node: 20.12.2 - ~/.nvm/versions/node/v20.12.2/bin/node
npm: 10.5.0 - ~/.nvm/versions/node/v20.12.2/bin/npm <----- active
npmPackages:
@storybook/addon-essentials: 8.2.2 => 8.2.2
@storybook/addon-interactions: 8.2.2 => 8.2.2
@storybook/core-server: 8.2.2 => 8.2.2
@storybook/jest: ^0.2.3 => 0.2.3
@storybook/test-runner: ^0.19.1 => 0.19.1
@storybook/testing-library: ^0.2.2 => 0.2.2
@storybook/vue3-vite: 8.2.2 => 8.2.2
附加上下文
此NX问题相关: nrwl/nx#26914
6条答案
按热度按时间ds97pgxw1#
免责声明:由于信息是自动生成的,可能存在不准确的情况。为了解决这个问题,请修改
core-server
模块以正确读取package.json
版本。具体来说,更新index.ts
和utils/package-json.ts
文件。package.json
被正确读取。package.json
。关于 Greptile
此响应为您提供了一个研究起点,而非精确解决方案。
帮助我们改进!如果这有帮助,请留下一个 👍,如果无关紧要,请留下一个 👎。
q3aa05252#
抱歉给您带来麻烦!看起来我们在8.2中破坏了
nx
的集成。我们本周晚些时候会与nx团队会面以解决这个问题。在此期间,如果您升级到8.1,我认为您应该没问题(尽管据我所知,nx对8.x的支持尚未正式发布)。kxkpmulp3#
抱歉给您带来了麻烦!看起来我们在8.2中破坏了
nx
的集成。我们本周晚些时候会与nx团队开会解决这个问题。在此期间,如果您升级到8.1,我认为您应该没问题(尽管据我所知,nx对8.x的支持尚未正式发布)。@shilman 补充一下,只有在提供Storybook(启动命令)时才会出现这种情况,
storybook build
仍然可以正常工作,没有任何问题。polhcujo4#
作为解决方法,您也可以尝试将
storybook
包添加为项目的开发依赖项。xeufq47z5#
@shilman 我在一段时间前将
storybook
包作为开发依赖项。作为解决方法,我使用 npm patch-package 对@storybook/core
进行修补,以恢复 @bakervos 提到的影响更改。u0njafvf6#
在进行nx迁移后,是否存在解决此问题的方法?