Angular项目npm安装遇React依赖冲突,如何让npm完全忽略React?
解决Angular项目中React依赖的npm警告问题
你的React依赖大概率是Storybook插件(比如@storybook/addon-actions、@storybook/addon-docs)带来的间接依赖,以下是几种在package.json中配置或操作的解决方式:
1. 强制统一React版本(消除版本冲突警告)
在package.json中添加overrides字段,强制所有子依赖使用同一版本的React,解决版本不匹配导致的警告:
"overrides": { "react": "^18.2.0", "react-dom": "^18.2.0" }
添加后重新执行npm i,npm会强制所有依赖使用指定版本的React,消除冲突警告。
2. 忽略所有peer依赖警告
如果不想处理版本问题,直接在package.json的scripts中修改install命令,添加--legacy-peer-deps参数:
"scripts": { "install": "npm install --legacy-peer-deps" }
之后执行npm i时,npm会采用npm v6的peer依赖处理逻辑,忽略所有不兼容的peer依赖警告。
3. 移除不必要的依赖(从根源解决)
如果你的Angular项目不需要Storybook,直接卸载所有Storybook相关依赖,这样React相关的间接依赖也会被移除,彻底解决警告问题:
npm uninstall @storybook/addon-actions @storybook/addon-docs @storybook/angular # 根据实际安装的包调整
内容的提问来源于stack exchange,提问作者patrick
相关产品推荐
相关产品推荐

