现在,在我的项目中,有一些未被满足的同行依赖关系。
$ npm list|grep webpack
├── @webpack-cli/serve@1.7.0
├─┬ html-webpack-plugin@4.5.0
│ ├─┬ @types/webpack@4.41.25
│ │ ├─┬ @types/webpack-sources@2.1.0
├─┬ UNMET PEER DEPENDENCY webpack@5.10.0
│ ├─┬ terser-webpack-plugin@5.0.3
│ └─┬ webpack-sources@2.2.0
├─┬ UNMET PEER DEPENDENCY webpack-cli@3.3.12
└─┬ webpack-dev-server@3.11.0
├── UNMET PEER DEPENDENCY webpack@^4.0.0
├─┬ webpack-dev-middleware@3.7.2
│ └── webpack-log@2.0.0 deduped
├─┬ webpack-log@2.0.0
然后我试着删除未满足的webpack-cli依赖性
$ npm uninstall webpack-cli
npm WARN @webpack-cli/serve@1.7.0 requires a peer of webpack-cli@4.x.x but none is installed. You must install peer dependencies yourself.
npm WARN webpack-dev-middleware@3.7.2 requires a peer of webpack@^4.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN webapp@1.0.0 No description
npm WARN webapp@1.0.0 No repository field.
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.13 (node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.13: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
removed 35 packages and audited 557 packages in 3.721s
现在运行webpack serve ,但它却说没有找到webpack
$ webpack serve
[webpack-cli] It looks like webpack is not installed.
但webpack是在本地和全局安装的,而webpack-cli只在全局安装。
$ npm list|grep webpack
├── @webpack-cli/serve@1.7.0
├─┬ html-webpack-plugin@4.5.0
│ ├─┬ @types/webpack@4.41.25
│ │ ├─┬ @types/webpack-sources@2.1.0
├─┬ webpack@5.10.0
│ ├─┬ terser-webpack-plugin@5.0.3
│ └─┬ webpack-sources@2.2.0
├── UNMET PEER DEPENDENCY webpack-cli@4.x.x
└─┬ webpack-dev-server@3.11.0
├── UNMET PEER DEPENDENCY webpack@^4.0.0
├─┬ webpack-dev-middleware@3.7.2
│ └── webpack-log@2.0.0 deduped
├─┬ webpack-log@2.0.0
npm ERR! peer dep missing: webpack-cli@4.x.x, required by @webpack-cli/serve@1.7.0
npm ERR! peer dep missing: webpack@^4.0.0, required by webpack-dev-middleware@3.7.2
$ npm list|grep webpack
│ ├── @vue/cli-ui-addon-webpack@4.5.12
├─┬ webpack@5.10.0
│ ├─┬ terser-webpack-plugin@5.1.1
│ └─┬ webpack-sources@2.2.0
├─┬ webpack-cli@4.6.0
│ ├── @webpack-cli/configtest@1.0.2
│ ├─┬ @webpack-cli/info@1.2.3
│ ├── @webpack-cli/serve@1.3.1
│ └─┬ webpack-merge@5.7.3
再次安装webpack-cli将解决这个问题
`npm install --dev webpack-cli`
现在npm list输出中没有同行依赖的警告。
$ npm list|grep webpack
├── @webpack-cli/serve@1.7.0
├─┬ html-webpack-plugin@4.5.0
│ ├─┬ @types/webpack@4.41.25
│ │ ├─┬ @types/webpack-sources@2.1.0
├─┬ webpack@5.10.0
│ ├─┬ terser-webpack-plugin@5.0.3
│ └─┬ webpack-sources@2.2.0
├─┬ webpack-cli@4.10.0
│ ├── @webpack-cli/configtest@1.2.0
│ ├─┬ @webpack-cli/info@1.5.0
│ ├── @webpack-cli/serve@1.7.0 deduped
│ └─┬ webpack-merge@5.8.0
└─┬ webpack-dev-server@3.11.0
├── UNMET PEER DEPENDENCY webpack@^4.0.0
├─┬ webpack-dev-middleware@3.7.2
│ └── webpack-log@2.0.0 deduped
├─┬ webpack-log@2.0.0