使用tsdx创建react-with-storybook项目失败求助
问题原因
- npm 8.x版本对peer依赖的校验机制比旧版本更严格,模板中的部分依赖(尤其是Storybook相关组件)与react@17.0.2/react-dom@17.0.2的peer依赖要求不匹配,触发了ERESOLVE错误。
- tsdx的react-with-storybook模板依赖版本未及时更新,导致依赖树中存在嵌套的版本冲突。
解决方法
方法一:使用npm的legacy-peer-deps标志绕过严格校验
- 重新创建项目:
npx tsdx create my-components --template react-with-storybook -- --legacy-peer-deps - 若已创建项目,进入目录后执行:
npm install --legacy-peer-deps
方法二:手动调整依赖版本
- 进入项目目录,打开
package.json - 要么将react、react-dom的版本修改为模板兼容的版本,要么将Storybook相关依赖更新到支持React 17的最新版,比如执行:
npm update @storybook/react @storybook/addon-actions @storybook/addon-links - 删除
node_modules和package-lock.json文件,重新执行npm install
方法三:换用yarn安装依赖
yarn对peer依赖的处理相对宽松,大概率能自动解决冲突:
- 删除项目中的
node_modules和package-lock.json文件 - 执行
yarn install
内容的提问来源于stack exchange,提问作者Chloezhang
相关产品推荐
相关产品推荐

