NPM 依赖解决冲突

NPM Dependency Resolution Conflicts

当我 运行 node install 我得到以下输出:

npm ERR! code ERESOLVE
npm ERR! ERESOLVE could not resolve
npm ERR! 
npm ERR! While resolving: google-map-react@2.1.10
npm ERR! Found: react@18.1.0
npm ERR! node_modules/react
npm ERR!   react@"^18.1.0" from the root project
npm ERR!   peer react@">=16.3" from @deck.gl/react@8.7.8
npm ERR!   node_modules/@deck.gl/react
npm ERR!     @deck.gl/react@"8.7.8" from deck.gl@8.7.8
npm ERR!     node_modules/deck.gl
npm ERR!       deck.gl@"^8.7.8" from the root project
npm ERR!   15 more (@emotion/react, @emotion/styled, @mui/base, ...)
npm ERR! 
npm ERR! Could not resolve dependency:
npm ERR! peer react@"^16.0.0 || ^17.0.0" from google-map-react@2.1.10
npm ERR! node_modules/google-map-react
npm ERR!   google-map-react@"^2.1.10" from the root project
npm ERR! 
npm ERR! Conflicting peer dependency: react@17.0.2
npm ERR! node_modules/react
npm ERR!   peer react@"^16.0.0 || ^17.0.0" from google-map-react@2.1.10
npm ERR!   node_modules/google-map-react
npm ERR!     google-map-react@"^2.1.10" 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.

这是我的 package.json 文件:

{
    "name": "frontend",
    "version": "0.1.0",
    "private": true,
    "dependencies": {
        "@emotion/react": "^11.9.0",
        "@emotion/styled": "^11.8.1",
        "@mui/icons-material": "^5.6.2",
        "@mui/material": "^5.6.3",
        "deck.gl": "^8.7.8",
        "react": "^18.1.0",
        "react-dom": "^18.1.0",
        "react-router": "^6.3.0",
        "react-router-dom": "^5.1.2",
        "react-scripts": "5.0.1",
        "react-transition-group": "^4.3.0"
    },
    "scripts": {
        "start": "react-scripts start",
        "build": "react-scripts build",
        "test": "react-scripts test",
        "eject": "react-scripts eject"
    },
    "eslintConfig": {
        "extends": "react-app"
    },
    "browserslist": {
        "production": [
            ">0.2%",
            "not dead",
            "not op_mini all"
        ],
        "development": [
            "last 1 chrome version",
            "last 1 firefox version",
            "last 1 safari version"
        ]
    }
}

我已经尝试了 npm install --legacy-peer-depsnpm install --force none,其中更改了错误消息。我还尝试 npm install --legacy-peer-deps --save google-maps-react 看看我是否必须为每个包单独执行此操作,但没有成功。我知道这个错误比较常见,它与 npm 版本和可怕的重大更改.

有关

有人知道我可以采取的任何其他步骤吗?

从我电脑的节点 18.0.0 版本升级到最新的 16 LTS 后,我通过 运行 npm install --legacy-peer-deps 解决了这个问题。

找到:react@18.1.0 错误!同行反应@"^16.8.0 || ^17.0.0"

  1. npm 配置设置 legacy-peer-deps 真
  2. npm 安装--保存--legacy-peer-deps
  3. npm 安装 --force