babel-loader@7.1.2 需要一个 webpack@2 的节点 \|\| 3 但没有安装

新手上路,请多包涵

我在安装所有 node_modules 时遇到这个问题。这让我发疯。

babel-loader@7.1.2 需要一个 webpack@2 的节点 || 3 但没有安装。

这是我的 package.json 文件

{
  "name": "react-router-firebase-auth",
  "version": "0.1.0",
  "private": true,
  "devDependencies": {
    "babel-core": "^6.26.0",
    "babel-loader": "^7.1.2",
    "babel-plugin-transform-es2015-modules-commonjs": "^6.26.0",
    "babel-preset-es2015": "^6.24.1",
    "babel-preset-react": "^6.24.1",
    "react-scripts": "0.9.5"
  },
  "dependencies": {
    "@atlaskit/button": "3.0.0",
    "@atlaskit/css-reset": "1.1.4",
    "@atlaskit/field-text": "4.0.1",
    "@atlaskit/modal-dialog": "2.1.1",
    "@atlaskit/page": "4.0.1",
    "@atlaskit/util-shared-styles": "2.3.1",
    "@shopify/polaris": "^1.5.1",
    "babel-eslint": "^7.0.0",
    "bootstrap": "^3.3.7",
    "eslint": "3.16.1",
    "eslint-plugin-react": "6.4.1",
    "express": "^4.16.1",
    "firebase": "^4.5.0",
    "firebase-admin": "^5.4.1",
    "firestore": "^1.1.6",
    "fixed-data-table": "^0.6.4",
    "griddle-react": "^1.8.1",
    "jquery": "^3.2.1",
    "node-localstorage": "^1.3.0",
    "nodemon": "^1.12.1",
    "react": "^15.5.3",
    "react-bootstrap": "^0.31.3",
    "react-bootstrap-button-loader": "^1.0.8",
    "react-bootstrap-navbar": "^1.1.0",
    "react-data-grid": "^2.0.59",
    "react-date-picker": "^6.1.2",
    "react-dom": "^15.5.3",
    "react-fontawesome": "^1.6.1",
    "react-router-dom": "^4.0.0-beta.8",
    "react-scripts": "^0.9.5",
    "react-transition-group": "^1.2.0",
    "reactstrap": "^4.8.0",
    "requestify": "^0.2.5",
    "simple-react-bootstrap": "^0.2.7",
    "styled-components": "1.4.6",
    "url": "^0.11.0"
  },
  "scripts": {
    "start": "react-scripts start",
    "build": "react-scripts build",
    "test": "react-scripts test --env=jsdom",
    "eject": "react-scripts eject"
  }
}

我正在为这个项目使用 create-react-app 。所以我无法更改 webpack.config.js 文件。我应该在这里做什么?

原文由 Noman Ali 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 690
2 个回答

请阅读这篇文章。它描述了对等依赖是什么。

https://stackoverflow.com/a/34645112/2379376

这意味着你根本没有安装 webpack 或者你安装了不同的版本 (webpack 1.x)。但是这个插件需要版本 2 或 3 中的 webpack 才能正常运行。

你能做的是

npm install webpack -g

所以 npm 会在你的系统上安装最新版本的 webpack。但是现在当其他加载器需要旧版本的 webpack 时,可能会出现其他对等警告。

原文由 Daniel 发布,翻译遵循 CC BY-SA 3.0 许可协议

使用 Webpack 4 时

我遇到了同样的错误,但实际上我安装了 webpack 4。为了解决这个问题,我使用了 babel-loader 文档 中的说明并安装了以下额外的库: babel-loader、@babel/core 和 @babel/preset-env

安装所有必需库的命令:

 npm install -D babel-loader @babel/core @babel/preset-env webpack

安装前的 package.json devDependencies:

   "devDependencies": {
    "chai": "^4.1.2",
    "enzyme": "^3.2.0",
    "enzyme-adapter-react-16": "^1.1.0",
    "expect": "^22.0.3",
    "jest-junit": "^3.3.0",
    "jest-junit-reporter": "^1.1.0",
    "node-sass": "^4.9.2",
    "prop-types": "^15.6.0",
    "react-test-renderer": "^16.2.0",
    "redux-mock-store": "^1.4.0",
    "sass-loader": "^6.0.6",
    "webpack": "^4.25.1",
    "webpack-cli": "^3.1.2",
    "webpack-dev-server": "^3.1.10"
  }

安装后:

 "devDependencies": {
  "@babel/core": "^7.1.6",
  "@babel/preset-env": "^7.1.6",
  "babel-loader": "^8.0.4",
  "chai": "^4.1.2",
  "enzyme": "^3.2.0",
  "enzyme-adapter-react-16": "^1.1.0",
  "expect": "^22.0.3",
  "jest-junit": "^3.3.0",
  "jest-junit-reporter": "^1.1.0",
  "node-sass": "^4.9.2",
  "prop-types": "^15.6.0",
  "react-test-renderer": "^16.2.0",
  "redux-mock-store": "^1.4.0",
  "sass-loader": "^6.0.6",
  "webpack": "^4.25.1",
  "webpack-cli": "^3.1.2",
  "webpack-dev-server": "^3.1.10"
}

希望能帮助到你

原文由 Daniel Santana 发布,翻译遵循 CC BY-SA 4.0 许可协议

推荐问题