6

我在安装所有 node_modules 时遇到了这个问题。这让我抓狂。

babel-loader@7.1.2 需要 webpack@2 的 peer || 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文件。我应该在这里做什么?

4

3 回答 3

6

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

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

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

你能做的是

npm install webpack -g

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

于 2017-10-14T10:41:41.330 回答
3

使用 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"
}

希望能帮助到你

于 2018-11-18T01:43:59.970 回答
1

在节点环境和开发环境中全局安装 webpack (作为开发依赖项)。由于 webpack 的主要功能是捆绑 JavaScript 文件以供在浏览器中使用。由于每次在开发时对 index.js(npm 的入口点)进行更改,那么您还必须运行 webpack 以在 bundle.js 文件中进行更改,所以我们需要在两个环境(即节点环境和开发环境)中安装运行以下命令来解决问题:

npm install -g webpack@3.10.0
npm install --save-dev webpack@3.10.0

这里我使用 3.10.0 的 webpack。您也可以使用 4。我认为这会有所帮助。

于 2018-12-29T16:00:40.050 回答