【问题标题】:Getting these WARN despite having the superior version of React尽管拥有 React 的高级版本,但仍获得这些 WARN
【发布时间】:2021-06-21 13:39:19
【问题描述】:

在尝试使用@testing-library-react 进行一些测试时,我尝试安装msw,但没有成功,我注意到这些npm WARN

npm WARN airbnb-prop-types@2.16.0 requires a peer of react@^0.14 || ^15.0.0 || ^16.0.0-alpha but none is installed. You must install peer dependencies yourself.
npm WARN enzyme-adapter-react-16@1.15.6 requires a peer of react@^16.0.0-0 but none is installed. You must install peer dependencies yourself.
npm WARN enzyme-adapter-react-16@1.15.6 requires a peer of react-dom@^16.0.0-0 but none is installed. You must install peer dependencies yourself.
npm WARN react-test-renderer@16.14.0 requires a peer of react@^16.14.0 but none is installed. You must install peer dependencies yourself.
npm WARN enzyme-adapter-utils@1.14.0 requires a peer of react@0.13.x || 0.14.x || ^15.0.0-0 || ^16.0.0-0 but none is installed. You must install peer dependencies yourself.

关注npm ERR!

npm ERR! code ENOENT
npm ERR! syscall rename
npm ERR! path C:\xampp\htdocs\react\React-Laravel\vinos-gdl\node_modules\@open-draft\until
npm ERR! dest C:\xampp\htdocs\react\React-Laravel\vinos-gdl\node_modules\@open-draft\.until.DELETE
npm ERR! errno -4058
npm ERR! enoent ENOENT: no such file or directory, rename 'C:\xampp\htdocs\react\React-Laravel\vinos-gdl\node_modules\@open-draft\until' -> 'C:\xampp\htdocs\react\React-Laravel\vinos-gdl\node_modules\@open-draft\.until.DELETE'
npm ERR! enoent This is related to npm not being able to find a file.

当我当前的reactreact-dom 版本是17.0.2 时,我不明白我需要什么反应。所以我不太确定如何修复那些显然不允许我安装相关软件包的WARN

我已经尝试删除node_modulespackage.json.lock、运行npm cache cleannpm i,但运气不佳。

如果我 npm list 我最后会得到相同的结果:

npm ERR! peer dep missing: react@^16.0.0-0, required by enzyme-adapter-react-16@1.15.6
npm ERR! peer dep missing: react-dom@^16.0.0-0, required by enzyme-adapter-react-16@1.15.6
npm ERR! peer dep missing: react@^16.14.0, required by react-test-renderer@16.14.0
npm ERR! peer dep missing: react@0.13.x || 0.14.x || ^15.0.0-0 || ^16.0.0-0, required by enzyme-adapter-utils@1.14.0
npm ERR! peer dep missing: react@^0.14 || ^15.0.0 || ^16.0.0-alpha, required by airbnb-prop-types@2.16.0

包.json:

{
    "private": true,
    "scripts": {
        "dev": "npm run development",
        "development": "mix",
        "watch": "mix watch",
        "watch-poll": "mix watch -- --watch-options-poll=1000",
        "hot": "mix watch --hot",
        "prod": "npm run production",
        "production": "mix --production",
        "test": "jest --watchAll"
    },
    "devDependencies": {
        "@babel/preset-react": "^7.12.13",
        "@testing-library/jest-dom": "5.11.9",
        "@testing-library/react": "^11.2.5",
        "axios": "^0.21.1",
        "bootstrap": "^4.6.0",
        "jquery": "^3.2",
        "laravel-mix": "^6.0.13",
        "lodash": "^4.17.21",
        "popper.js": "^1.16.1",
        "postcss": "^8.2.8",
        "react": "^17.0.2",
        "react-dom": "^17.0.2",
        "resolve-url-loader": "^3.1.2",
        "sass": "^1.32.8",
        "sass-loader": "^8.0.2"
    },
    "dependencies": {
        "@babel/plugin-transform-runtime": "^7.13.10",
        "@fortawesome/fontawesome-svg-core": "^1.2.35",
        "@fortawesome/free-brands-svg-icons": "^5.15.3",
        "@fortawesome/free-solid-svg-icons": "^5.15.3",
        "@fortawesome/react-fontawesome": "^0.1.14",
        "downshift": "^6.1.1",
        "enzyme": "^3.11.0",
        "enzyme-adapter-react-16": "^1.15.6",
        "enzyme-to-json": "^3.6.1",
        "jest": "^26.6.3",
        "react-bootstrap": "^1.5.0",
        "react-multi-carousel": "^2.6.2",
        "react-paginate": "^7.1.2",
        "react-router": "^5.2.0",
        "react-router-dom": "^5.2.0",
        "react-select": "^4.3.0",
        "react-test-renderer": "^17.0.2",
        "react-toastify": "^7.0.3"
    },
    "babel": {
        "presets": [
            "@babel/preset-react",
            "@babel/preset-env"
        ],
        "plugins": [
            "@babel/plugin-transform-react-jsx",
            "@babel/plugin-transform-runtime"
        ]
    }
}

【问题讨论】:

    标签: node.js reactjs npm-install


    【解决方案1】:

    好吧,显然运行 reactreact-dom 的最后一个版本,即 atm 17.0.2 并不是最好的主意。我回滚到16.14.0,一切正常。

    我在这里 (How to fix Npm missing peer dependency) 发现 ^ 有点误导。

    即:

    需要一个 react@^15.0.0 || ^16.0.0

    意思是它需要>15.0.0< 17.0.

    【讨论】:

      猜你喜欢
      • 2019-07-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多