webpack 版本冲突详细原因分析及解决办法「建议收藏」

webpack 版本冲突详细原因分析及解决办法「建议收藏」本项目使用vue/cli-4构建,在安装完less-loader后,npmrunserve时候报错,原因是webpack版本冲突报错信息Error:Rulecanonlyhaveoneresourcesource(providedresourceandtest+include+exclude)in{“exclude”:[null],“use”:[{“loader”:“/Users/truezir_tech_team/WebstormProject

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

本项目使用vue/cli-4构建,在安装完less-loader后,npm run serve 时候报错,原因是webpack版本冲突

报错信息

Error: Rule can only have one resource source (provided resource and test + include + exclude) in {

“exclude”: [
null
],
“use”: [
{

“loader”: “/Users/truezir_tech_team/WebstormProjects/vue_shop/node_modules/cache-loader/dist/cjs.js”,
“options”: {

“cacheDirectory”: “/Users/truezir_tech_team/WebstormProjects/vue_shop/node_modules/.cache/babel-loader”,
“cacheIdentifier”: “72213e73”
},
“ident”: “clonedRuleSet-38[0].rules[0].use[0]”
},
{

“loader”: “/Users/truezir_tech_team/WebstormProjects/vue_shop/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/truezir_tech_team/WebstormProjects/vue_shop/node_modules/cache-loader/dist/cjs.js”,
“options”: {

“cacheDirectory”: “/Users/truezir_tech_team/WebstormProjects/vue_shop/node_modules/.cache/babel-loader”,
“cacheIdentifier”: “72213e73”
},
“ident”: “clonedRuleSet-38[0].rules[0].use[0]”
},
{

“loader”: “/Users/truezir_tech_team/WebstormProjects/vue_shop/node_modules/babel-loader/lib/index.js”,
“options”: “undefined”,
“ident”: “undefined”
}
]
}
at checkResourceSource (/Users/truezir_tech_team/WebstormProjects/vue_shop/node_modules/@vue/cli-service/node_modules/webpack/lib/RuleSet.js:167:11)
at Function.normalizeRule (/Users/truezir_tech_team/WebstormProjects/vue_shop/node_modules/@vue/cli-service/node_modules/webpack/lib/RuleSet.js:198:4)
at /Users/truezir_tech_team/WebstormProjects/vue_shop/node_modules/@vue/cli-service/node_modules/webpack/lib/RuleSet.js:110:20
at Array.map ()
at Function.normalizeRules (/Users/truezir_tech_team/WebstormProjects/vue_shop/node_modules/@vue/cli-service/node_modules/webpack/lib/RuleSet.js:109:17)
at new RuleSet (/Users/truezir_tech_team/WebstormProjects/vue_shop/node_modules/@vue/cli-service/node_modules/webpack/lib/RuleSet.js:104:24)
at new NormalModuleFactory (/Users/truezir_tech_team/WebstormProjects/vue_shop/node_modules/@vue/cli-service/node_modules/webpack/lib/NormalModuleFactory.js:115:18)
at Compiler.createNormalModuleFactory (/Users/truezir_tech_team/WebstormProjects/vue_shop/node_modules/@vue/cli-service/node_modules/webpack/lib/Compiler.js:636:31)
at Compiler.newCompilationParams (/Users/truezir_tech_team/WebstormProjects/vue_shop/node_modules/@vue/cli-service/node_modules/webpack/lib/Compiler.js:653:30)
at Compiler.compile (/Users/truezir_tech_team/WebstormProjects/vue_shop/node_modules/@vue/cli-service/node_modules/webpack/lib/Compiler.js:661:23)
at /Users/truezir_tech_team/WebstormProjects/vue_shop/node_modules/@vue/cli-service/node_modules/webpack/lib/Watching.js:77:18
at AsyncSeriesHook.eval [as callAsync] (eval at create (/Users/truezir_tech_team/WebstormProjects/vue_shop/node_modules/tapable/lib/HookCodeFactory.js:33:10), :24:1)
at AsyncSeriesHook.lazyCompileHook (/Users/truezir_tech_team/WebstormProjects/vue_shop/node_modules/tapable/lib/Hook.js:154:20)
at Watching._go (/Users/truezir_tech_team/WebstormProjects/vue_shop/node_modules/@vue/cli-service/node_modules/webpack/lib/Watching.js:41:32)
at /Users/truezir_tech_team/WebstormProjects/vue_shop/node_modules/@vue/cli-service/node_modules/webpack/lib/Watching.js:33:9
at Compiler.readRecords (/Users/truezir_tech_team/WebstormProjects/vue_shop/node_modules/@vue/cli-service/node_modules/webpack/lib/Compiler.js:529:11)

分析

在npm install 安装完依赖模块后,使用webpack -v查看webpack 版本(注意,如果已经全局安装webpack 该命令会显示全局安装的webapck版本,要查看局部安装的版本号可以使用 npx webpack -v 查看),此时我的局部的webpack版本是4.x.x。接着安装less-loader (npm install less less-loader -D)安装完成后,由于less-loader 版本是10.x.x 版本太高,其依赖的weback 版本为 5.x.x (在执行上面的命令安装less-loader 时,5.x.x的版本会被安装)此时node_modules中就有两个webpack版本,所以在执行 npm run serve 时出现冲突

解决办法

卸载其中的一个版本,具体卸载哪一个呢?例如,我webpack原来的版本是4.x.x。我保留它。卸载另一个也就是5.x的版本,但是less-loader 要依赖它怎么办,很简单,换一个版本低一点的less-loader 就行了

  • 卸载

卸载,不过我试过,直接用下面的命令卸载webpack 好像不起作用

npm uninstall webpack@5.x.x

重新安装之前4.x的版本替换5.x

npm install wepback@^4.0.0
  • 安装低版本less-loader, ^符号表示下载大版本号不大于6的
npm install less less-loader@^6.0.0 -D
  • 运行就不报错了
npm run serve
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/169223.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(1)


相关推荐

  • ubuntu安装go语言_go语言web服务器

    ubuntu安装go语言_go语言web服务器来源:微信公众号「编程学习基地」文章目录简介下载go安装包环境配置添加环境变量第一个go语言程序go入门学习简介go语言是一种开源的、语法精简的静态编程语言,它的开源社区比较庞大,应用场景非常广范。可以用于系统监控、容器技术(Docker)、大数据、存储技术、分布式系统(HyperledgerFabric)、消息系统(Kafka客户端)、服务器管理、安全工具、Web工具等。这里介绍在Linux上安装并配置go。下载go安装包到GoLang中国,下载Go语言安装包。解压tar-xzv..

    2022年10月12日
  • linux oracle修改密码_linux 更改用户密码

    linux oracle修改密码_linux 更改用户密码Linux环境中修改Oracle用户密码第一步:[root@localhost~]#[color=green]su-oracle[/color]第二步:[oracle@localhost~]$[color=green]sqlplus/nolog;[/color]第三步:SQL>…

  • matplotlib-bilibili,抖音很火的动态数据视频自动生成(第二节)

    matplotlib-bilibili,抖音很火的动态数据视频自动生成(第二节)

  • linux ubuntu安装_vscode electron

    linux ubuntu安装_vscode electron环境:ubuntux86_64apache2.4mysql5.7php7.0方法一:这个方法是我安装成功的方法,所以写在第一个.步骤:1.在官网https://code.visualstudio.com/Download下载相应的deb包到自己电脑上我下载的是64bit的.2.打开相应目录的终端,执行命令sudodpkg-icode_1.2…

  • 使用canvas实现擦玻璃效果

    体验效果:http://hovertree.com/texiao/html5/25/效果图:代码如下:关注微信公众号何问起,账号ihewenqi,或者微信扫描下面二维码关注。然后发送&quot

    2021年12月22日
  • Python五子棋人机对战

    Python五子棋人机对战了解过python的都知道python最高境界就是人工智能,AI技术,but但凡接触到AI那都感觉很高大上的,新手小白肯定看不懂…别急,我给大家带来了一个伪AI技术,注释也写的很明白,保证小白都能一看就懂!!!!唔,是的,伪AI技术,人机五子棋。(跟电脑下棋)实现一个人就可以跟电脑下棋。具体怎么让电脑产生攻击力的…代码的注释写的很清楚。。。。话不多说,那就上码吧。”””五子棋之人机对战”””importsysimportrandomimportpygamefrom

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号