Material UI 安装不适用于 React 18
我尝试使用我的 React 18.0 项目安装 Material UI 和图标,但无法安装。该项目已使用最新的 create-react-app 创建
npm install @material-ui/core @material-ui/icons
npm ERR! code ERESOLVE
npm ERR! ERESOLVE unable to resolve dependency tree
npm ERR!
npm ERR! While resolving: [email protected]
npm ERR! Found: [email protected]
npm ERR! node_modules/react
npm ERR! react@"^18.0.0" from the root project
npm ERR!
npm ERR! Could not resolve dependency:
npm ERR! peer react@"^16.8.0 || ^17.0.0" from @material-ui/[email protected]
npm ERR! node_modules/@material-ui/core
npm ERR! peer @material-ui/core@"^4.0.0" from @material-ui/[email protected]
npm ERR! node_modules/@material-ui/icons
npm ERR! @material-ui/icons@"*" from the root project
npm ERR!
npm ERR! Fix the upstream dependency conflict, or retry
npm ERR! this command with --force, or --legacy-peer-deps
npm ERR! to accept an incorrect (and potentially broken) dependency resolution.
我删除了 npm-cache 文件夹并重新安装它 仍然不起作用
npm install @mui/material @emotion/react @emotion/styled --legacy-peer-deps
npm install @mui/icons-material --legacy-peer-deps
Github Issue : https://github.com/mui/material-ui/issues/32074
您可以将 Materal UI v5 用于 reactjs 18
https://mui.com/material-ui/getting-started/installation/
或者
还有另一种让 MUI 与 Reactjs 兼容的方法是将 react 版本降级为 17。
您只需要将 react 版本和 react-dom 版本降级为 17 即可使其正常工作。
检查您的 package.json 文件,您会发现 react 和 react-dom 版本为 18,您必须降级版本才能使 mui v4 与 Reactjs 兼容。
降级到版本 17 时使用 --force 标志
或者 如果您不想将 react 18 降级到 17,请按照以下说明操作。
对于 react >= 17.0.0 和 react-dom >= 17.0.0,请使用MUI v5。
如果您使用的 React 版本大于 17,则必须安装 Material UI (version) v5。
注意:如果 MUI v5 无法与 [email protected] 配合使用,则安装 MUI (version) v4。
npm install @mui/material @emotion/react @emotion/styled
并且
对于 react >= 16.8.0 和 react-dom >= 16.8.0,请使用此标志。
// with npm
npm install @material-ui/core
// with yarn
yarn add @material-ui/core
编辑:使用
--force
或
--legacy-peer-deps
也有效,但在使用该标志之前,您应该知道它们的作用这样做。
因为这是由于 react 和 MUI 之间的版本冲突而发生的。我不建议使用标志,但如果您的项目规模太大或太复杂而难以管理,或者很难切换版本,那么您可以使用
--foce
&
--legacy-peer-deps
标志。
npm i @material-ui/core --legacy-peer-deps
2022.04.24 实际值:
- material-ui/core v4.12.4
- react v18.0.0