npm安装compression-webpack-plugin插件报错问题记录

2023-11-09

问题再现

因项目需要,在前端项目中安装compression-webpack-plugin插件

  • 运行npm install compression-webpack-plugin命令之后在package.json文件中已经出现了"compression-webpack-plugin": "^7.1.2"这个依赖项
  • 运行npm run serve命令启动项目,报错信息如下:
 ERROR  Error: Rule can only have one resource source (provided resource and test + include + exclude) in {
  "exclude": [
    null
  ],
  "use": [
    {
      "loader": "/Users/lyb/Downloads/wcp-front-vue/node_modules/cache-loader/dist/cjs.js",
      "options": {
        "cacheDirectory": "/Users/lyb/Downloads/wcp-front-vue/node_modules/.cache/babel-loader",
        "cacheIdentifier": "61a7e43e"
      },
      "ident": "clonedRuleSet-38[0].rules[0].use[0]"
    },
    {
      "loader": "/Users/lyb/Downloads/wcp-front-vue/node_modules/babel-loader/lib/index.js",
      "options": "undefined",
      "ident": "undefined"
    }
  ]
}
Error: Rule can only have one resource source (provided resource and test + include + exclude) in {
  "exclude": [
    null
  ],
  "use": [
    {
      "loader": "/Users/lyb/Downloads/wcp-front-vue/node_modules/cache-loader/dist/cjs.js",
      "options": {
        "cacheDirectory": "/Users/lyb/Downloads/wcp-front-vue/node_modules/.cache/babel-loader",
        "cacheIdentifier": "61a7e43e"
      },
      "ident": "clonedRuleSet-38[0].rules[0].use[0]"
    },
    {
      "loader": "/Users/lyb/Downloads/wcp-front-vue/node_modules/babel-loader/lib/index.js",
      "options": "undefined",
      "ident": "undefined"
    }
  ]
}
    at checkResourceSource (/Users/lyb/Downloads/wcp-front-vue/node_modules/@vue/cli-service/node_modules/webpack/lib/RuleSet.js:167:11)
    at Function.normalizeRule (/Users/lyb/Downloads/wcp-front-vue/node_modules/@vue/cli-service/node_modules/webpack/lib/RuleSet.js:198:4)
    at /Users/lyb/Downloads/wcp-front-vue/node_modules/@vue/cli-service/node_modules/webpack/lib/RuleSet.js:110:20
    at Array.map (<anonymous>)
    at Function.normalizeRules (/Users/lyb/Downloads/wcp-front-vue/node_modules/@vue/cli-service/node_modules/webpack/lib/RuleSet.js:109:17)
    at new RuleSet (/Users/lyb/Downloads/wcp-front-vue/node_modules/@vue/cli-service/node_modules/webpack/lib/RuleSet.js:104:24)
    at new NormalModuleFactory (/Users/lyb/Downloads/wcp-front-vue/node_modules/@vue/cli-service/node_modules/webpack/lib/NormalModuleFactory.js:115:18)
    at Compiler.createNormalModuleFactory (/Users/lyb/Downloads/wcp-front-vue/node_modules/@vue/cli-service/node_modules/webpack/lib/Compiler.js:636:31)
    at Compiler.newCompilationParams (/Users/lyb/Downloads/wcp-front-vue/node_modules/@vue/cli-service/node_modules/webpack/lib/Compiler.js:653:30)
    at Compiler.compile (/Users/lyb/Downloads/wcp-front-vue/node_modules/@vue/cli-service/node_modules/webpack/lib/Compiler.js:661:23)
    at /Users/lyb/Downloads/wcp-front-vue/node_modules/@vue/cli-service/node_modules/webpack/lib/Watching.js:77:18
    at AsyncSeriesHook.eval [as callAsync] (eval at create (/Users/lyb/Downloads/wcp-front-vue/node_modules/tapable/lib/HookCodeFactory.js:33:10), <anonymous>:24:1)
    at AsyncSeriesHook.lazyCompileHook (/Users/lyb/Downloads/wcp-front-vue/node_modules/tapable/lib/Hook.js:154:20)
    at Watching._go (/Users/lyb/Downloads/wcp-front-vue/node_modules/@vue/cli-service/node_modules/webpack/lib/Watching.js:41:32)
    at /Users/lyb/Downloads/wcp-front-vue/node_modules/@vue/cli-service/node_modules/webpack/lib/Watching.js:33:9
    at Compiler.readRecords (/Users/lyb/Downloads/wcp-front-vue/node_modules/@vue/cli-service/node_modules/webpack/lib/Compiler.js:529:11)
npm ERR! code 1
npm ERR! path /Users/lyb/Downloads/wcp-front-vue
npm ERR! command failed
npm ERR! command sh -c vue-cli-service serve

npm ERR! A complete log of this run can be found in:
npm ERR!     /Users/lyb/.npm/_logs/2021-03-10T08_03_23_083Z-debug.log
  • 出现错误后小编只能求助度娘,度娘的解决方案如下:

    • 卸载webpacknpm uninstall webpack
    • 重新安装webpack:npm install webpack@4.0.0 --save-dev ,这个时候直接报错,报错信息如下:
    npm ERR! code ERESOLVE
    npm ERR! ERESOLVE unable to resolve dependency tree
    npm ERR! 
    npm ERR! Found: webpack@4.0.0
    npm ERR! node_modules/webpack
    npm ERR!   dev webpack@"4.0.0" from the root project
    npm ERR!   webpack@"^4.0.0" from @vue/cli-plugin-babel@4.5.8
    npm ERR!   node_modules/@vue/cli-plugin-babel
    npm ERR!     dev @vue/cli-plugin-babel@"^4.2.3" from the root project
    npm ERR!   4 more (terser-webpack-plugin, @vue/cli-plugin-eslint, ...)
    npm ERR! 
    npm ERR! Could not resolve dependency:
    npm ERR! peer webpack@"^5.1.0" from compression-webpack-plugin@7.1.2
    npm ERR! node_modules/compression-webpack-plugin
    npm ERR!   compression-webpack-plugin@"^7.1.2" from the root project
    npm ERR! 
    npm ERR! Fix the upstream dependency conflict, or retry
    npm ERR! this command with --force, or --legacy-peer-deps
    npm ERR! to accept an incorrect (and potentially broken) dependency resolution.
    npm ERR! 
    npm ERR! See /Users/lyb/.npm/eresolve-report.txt for a full report.
    
    npm ERR! A complete log of this run can be found in:
    npm ERR!     /Users/lyb/.npm/_logs/2021-03-10T08_16_11_779Z-debug.log
    
    • 上面的报错信息大概意思就是说插件@vue/cli-plugin-babel@4.5.8依赖webpack@"4.0.0"版本,而插件compression-webpack-plugin@7.1.2依赖webpack@"^5.1.0"版本

    问题原因:因为两个插件依赖的webpack包版本不一致导致冲突

解决方案

  • 卸载高版本的compression-webpack-plugin插件:npm uninstall compression-webpack-plugin

  • 卸载webpack插件:npm uninstall webpack

  • 安装低版本的compression-webpack-plugin插件:npm install compression-webpack-plugin@4.0.0

  • 重新安装webpack插件:npm install webpack@4.0.0 --save-dev

经过以上步骤之后完美解决问题

总结

在使用脚手架的时候不要过度追求新版本,要考虑不同插件之间对依赖项的版本问题。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

npm安装compression-webpack-plugin插件报错问题记录 的相关文章

随机推荐

  • 大型公司网络构建拓扑图(华为)

    今天简单了解一下 大型公司的网络搭建 对于很多大型公司来讲 网络的稳定性 会直接影响到公司的收益 比如 双十一的阿里巴巴 京东 等等 如果这个时候网络出现问题 对于公司的损失将会是不可估量的 可见公司网络稳定 对公司的重要性了 那接下来就给
  • 小鱼深度产品测评之:阿里云新款通用算力型ECS云服务器Universal实例,实力与能力并存的一款产品。

    ECS U实例评测 1 引言 2 购买流程 3 向导展示 4 实例 4 1 创建实例 4 2 迁移上云 4 3 查询功能 4 3 1 下拉框选项 4 3 2 查询结果保存 4 4 默认定位 4 5 分组 4 6 监控 4 6 1 查看监控大
  • Qt防止重复调用

    QT中要用到 类似按键防抖static void func to debounce int a qDebug lt lt a 1 lt lt debounce test 需要实现的函数 static void debounce test f
  • Dice系数(Dice coefficient)与mIoU与Dice Loss

    Dice系数和mIoU是语义分割的评价指标 在这里进行了简单知识介绍 讲到了Dice顺便在最后提一下Dice Loss 以后有时间区分一下在语义分割中两个常用的损失函数 交叉熵和Dice Loss 一 Dice系数 1 概念理解 Dice系
  • 在java中插入gif_在java程序中显示gif图片的代码

    import java awt import java awt image public class ImageCanvas extends Canvas Image image public ImageCanvas String name
  • rsync 未授权访问漏洞

    雨笋教育小编来分享干货了 感兴趣的可以一同探讨 0x00前言 rsync是Linux下一款数据备份工具 支持通过rsync协议 ssh协议进行远程文件传输 0x01漏洞原理 rsync协议默认监听873端口 如果目标开启了rsync服务 并
  • BUCK BOOST以及Charge Pump电路原理

    下文为个人总结三种常见的开关电源 如有疑问欢迎评论区讨论 BUCK 当开关管Q1驱动为高电平时 开关管导通 储能电感L1被充磁 流经电感的电流线性增加 同时给电容C1充电 给负载R1提供能量 当开关管Q1驱动为低电平时 开关管关断 储能电感
  • hivesql解析json格式的key与value

    目录 解析json格式中的key 解析json格式中的value json格式示例 city code 340100 county code 340111 orientation 东 road id 35204271 speed 35 72
  • NNDL 实验六 卷积神经网络(3)LeNet实现MNIST

    目录 5 3 基于LeNet实现手写体数字识别实验 5 3 2 模型构建 5 3 3 模型训练 5 3 4 模型评价 5 3 5 模型预测 使用前馈神经网络实现MNIST识别 与LeNet效果对比 选做 可视化LeNet中的部分特征图和卷积
  • docker安装redis Docker安装redis docker安装Redis 详细教程

    docker安装redis Docker安装redis docker安装Redis 详细教程 Docker 上安装 Redis 的步骤 选择要安装的Redis版本 1 拉取 Redis 镜像 2 创建并运行容器 创建 redis conf
  • 02-linux安装nodejs

    1 前期准备 1 Node js简介 简单的说 Node js 就是运行在服务端的 JavaScript Node js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境 Node js 使用了一个事件驱动 非阻塞式
  • 组态王、力控、MCGS、瑞尔、杰控等国内组态软件一点看法

    2005年08月28日 23 26 00 从结构上说 组态王和MCGS一样 前台动画和后台集成在一起 在运行模式下一起运行 而力控 瑞尔却分为后台驱动 实时数据库 前台三部分组成 更为有意思的是 瑞尔的每一个驱动就是一个EXE 其驱动DLL
  • Spring 中的事件监听机制

    目录 1 标准的 Spring 事件机制 1 ApplicationEvent 自定义事件 2 ApplicationEventPublisher 发布事件 3 ApplicationListener 监听事件 2 基于 EventList
  • 嵌入式与人工智能关系_嵌入式人工智能的发展趋势

    嵌入式与人工智能关系 嵌入式人工智能的发展趋势 所谓嵌入式人工智能 就是设备无须联网通过云端数据中心进行大规模计算去实现人工智能 而是在本地计算 在不联网的情况下就可以做实时的环境感知 人机交互 决策控制 那么嵌入式与人工智能关系是什么 嵌
  • spark学习6:应用程序的打包部署

    standlone 集群模式下 提交应用后 可以在浏览器中输入 spark master 8080 查看执行情况 yarn集群模式下 提交应用程序 提交后 可以在tracking URL 中查看记录 如下图 ps 在 spark shell
  • python项目实现配置统一管理的方法

    一个比较大的项目总是会涉及到很多的参数 最好的方法就是在一个地方统一管理这些参数 最近看了不少的python项目 总结了两种很有意思的配置管理方法 第一种 基于easydict实现的配置管理 首先需要安装numpy easydict以及ya
  • jmeter性能测试输出html报告

    前言 jmeter在界面模式下执行性能测试会占用大量的系统资源 导致测试数据不准确 为了减少系统资源的占用 我们建议在cmd 即非GUI模式 模式输入命令 进行性能测试 jmeter自带输出html测试报告功能 1 准备 写好脚本 2 在j
  • mysql—注入点获取WebShell的几种方式

    利用条件 1 有写文件条件 secure file priv show variables 要么禁用 要么设置了路径 show variables like secure 目录权限 对于MySQL来说 有可以对某个目录进行读写的权限 Sel
  • 【C++】【MATLAB】三元二次多项式拟合求极值点原理+代码

    一 需求描述 本人最近需要对多个3维数据进行曲线的拟合 并且找到极大值点 难点 1 一组数据有125个点 每个点有3个坐标值 x y z 以及一个对应的得分值t x y z范围不限 t的范围是0到1 2 得用C 语言去实现本人的需求 因此在
  • npm安装compression-webpack-plugin插件报错问题记录

    文章目录 问题再现 解决方案 总结 问题再现 因项目需要 在前端项目中安装compression webpack plugin插件 运行npm install compression webpack plugin命令之后在package j