我们有一个单一代码库,我正在将其迁移至 npm 7 的工作区。
当前文件夹组织结构:
\React
- package.json (defines workspaces for \apps and \packages)
\apps
\someApp
- React 17.0.1 (Dependency)
\otherApp
\packages
\component-library
- React 16.14.0 || 17.0.0 (Peer)
- Storybook (6.1)
- Storybook MUI Add On
\framework
- React 16.14.0 || 17.0.0 (Peer)
在React文件夹中运行
npm ci
命令,会安装React 16.14到\React\node_modules目录下,并在\React\apps\someApp\node_modules目录下安装17.0.0版本。尝试运行应用程序时,由于安装了多个版本,我们得到了预期的钩子错误。但是我找不到任何明确要求使用React 16.14的内容?
packages/component-library
文件夹内,我尝试了npm link ../../node_modules/react
。它抛出了一个错误,显示npm ERR!无法解决依赖项: npm ERR!来自@ reach / router@1.3.4的同级反应@"15.x || 16.x || 16.4.0-alpha.0911da3"
看起来storybook需要使用@react/router
,它使用react 16.14
。 - ali