关于javascript:[email protected]需要一个webpack @ 2的对等项|| 3,但未安装


[email protected] requires a peer of webpack@2 || 3 but none was installed

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

[email protected] requires a peer of webpack@2 || 3 but none was
installed.

这是我的package.json文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
{
 "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文件。 我应该在这里做什么?


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

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

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

你能做的是

1
npm install webpack -g

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


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

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

在这里,我正在为Webpack使用3.10.0。您也可以使用4。我认为这会有所帮助。


使用Webpack 4时:

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

安装所有必需库的命令:

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

安装之前package.json devDependencies:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 "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"
  }

安装后:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
"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"
}

希望能帮助到你