webpack处理less的loader_登录器和引擎版本号不匹配

webpack处理less的loader_登录器和引擎版本号不匹配Theremightbeaproblemwiththeprojectdependencytree.ItislikelynotabuginCreateReactApp,butsomethingyouneedtofixlocally.Thereact-scriptspackageprovidedbyCreateReactApprequiresadependency:”webpack”:”4.44.2″Don’ttryt

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

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

There might be a problem with the project dependency tree.
It is likely not a bug in Create React App, but something you need to fix locally.

The react-scripts package provided by Create React App requires a dependency:

  "webpack": "4.44.2"

Don't try to install it manually: your package manager does it automatically.
However, a different version of webpack was detected higher up in the tree:

  D:\Web\Project\RenHai1_admin-1\renhai_admin\node_modules\webpack (version: 5.64.2)

Manually installing incompatible versions is known to cause hard-to-debug issues.

If you would prefer to ignore this check, add SKIP_PREFLIGHT_CHECK=true to an .env file in your project.
That will permanently disable this message but you might encounter other issues.

To fix the dependency tree, try following the steps below in the exact order:

  1. Delete package-lock.json (not package.json!) and/or yarn.lock in your project folder.
  2. Delete node_modules in your project folder.
  3. Remove "webpack" from dependencies and/or devDependencies in the package.json file in your project folder.
  4. Run npm install or yarn, depending on the package manager you use.

In most cases, this should be enough to fix the problem.
If this has not helped, there are a few other things you can try:

  5. If you used npm, install yarn (http://yarnpkg.com/) and repeat the above steps with it instead.
     This may help because npm has known issues with package hoisting which may get resolved in future versions.

  6. Check if D:\Web\Project\RenHai1_admin-1\renhai_admin\node_modules\webpack is outside your project directory.
     For example, you might have accidentally installed something in your home folder.

  7. Try running npm ls webpack in your project folder.
     This will tell you which other package (apart from the expected react-scripts) installed webpack.

If nothing else helps, add SKIP_PREFLIGHT_CHECK=true to an .env file in your project.
That would permanently disable this preflight check in case you want to proceed anyway.

P.S. We know this message is long but please read the steps above :-) We hope you find them helpful!

昨天遇到这样一个问题 按照上面的方法都试了一下 仍然解决不了

 - Delete package-lock.json (not package.json!) and/or yarn.lock in your project folder.
 - Delete node_modules in your project folder.
 - Remove "webpack" from dependencies and/or devDependencies in the package.json file in your project folder.
 - Run npm install or yarn, depending on the package manager you use.

首先第一种

在第三步的时候我并没有在package.json中找到webpack配置项,就跳过继续第四步,结果没解决

  • 指定版本号下载
  • 指定版本号全局卸载再下载

都不能解决

接着就注意到是不是npm inpm i -s的原因,用npm i -s重复上面的操作 仍然不行
主要还是没有成功配置上在package.json中没有webpack配置项,具体什么原因我也不清楚
其中还出现了下面这个问题

internal/modules/cjs/loader.js:888
  throw err;
  ^

Error: Cannot find module 'webpack/lib/node/NodeTemplatePlugin'
Require stack:
- D:\Web\Project\RenHai1_admin-1\renhai_admin\node_modules\html-webpack-plugin\lib\child-compiler.js
- D:\Web\Project\RenHai1_admin-1\renhai_admin\node_modules\html-webpack-plugin\lib\cached-child-compiler.js
- D:\Web\Project\RenHai1_admin-1\renhai_admin\node_modules\html-webpack-plugin\index.js
- D:\Web\Project\RenHai1_admin-1\renhai_admin\node_modules\react-scripts\config\webpack.config.js
- D:\Web\Project\RenHai1_admin-1\renhai_admin\node_modules\react-app-rewired\scripts\start.js
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:885:15)
    at Function.Module._load (internal/modules/cjs/loader.js:730:27)
    at Module.require (internal/modules/cjs/loader.js:957:19)
    at require (internal/modules/cjs/helpers.js:88:18)
    at Object.<anonymous> (D:\Web\Project\RenHai1_admin-1\renhai_admin\node_modules\html-webpack-plugin\lib\child-compiler.js:14:28)
    at Module._compile (internal/modules/cjs/loader.js:1068:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1097:10)
    at Module.load (internal/modules/cjs/loader.js:933:32)
    at Function.Module._load (internal/modules/cjs/loader.js:774:14)
    at Module.require (internal/modules/cjs/loader.js:957:19) { 
   
  code: 'MODULE_NOT_FOUND',
  requireStack: [
    'D:\\Web\\Project\\RenHai1_admin-1\\renhai_admin\\node_modules\\html-webpack-plugin\\lib\\child-compiler.js',
    'D:\\Web\\Project\\RenHai1_admin-1\\renhai_admin\\node_modules\\html-webpack-plugin\\lib\\cached-child-compiler.js',
    'D:\\Web\\Project\\RenHai1_admin-1\\renhai_admin\\node_modules\\html-webpack-plugin\\index.js',
    'D:\\Web\\Project\\RenHai1_admin-1\\renhai_admin\\node_modules\\react-scripts\\config\\webpack.config.js',
    'D:\\Web\\Project\\RenHai1_admin-1\\renhai_admin\\node_modules\\react-app-rewired\\scripts\\start.js'
  ]
}

查了之后发现是因为没有安裝webpack-cli
安装之后根本和主要问题没关系 webpack版本仍然存在问题
其中还去手动更改了node_modules/webpack/package.json里面配置项——不行

根据上面提示的第二种方法

If nothing else helps, add SKIP_PREFLIGHT_CHECK=true to an .env file in your project.

解决了 但是出现了 接下来的问题


./node_modules/antd/es/button/style/index.less (./node_modules/css-loader/dist/cjs.js??ref--5-oneOf-8-1!./node_modules/postcss-loader/src??postcss!./node_modules/resolve-url-loader??ref--5-oneOf-8-3!./node_modules/less-loader/dist/cjs.js??ref--5-oneOf-8-4!./node_modules/antd/es/button/style/index.less)
TypeError: this.getOptions is not a function

我不理解

总之 最后解决的方法是—重点

  1. npm install webpack@4.44.2
  2. "less": "^3.9.0", "less-loader": "^4.1.0",
  3. npm i

我不理解为什么我运行npm install webpack@4.44.2的时候package.json中不显示"webpack": "^4.44.2"难道我当时思绪混乱了一直想着全局问题,而这个是局部安裝去解决我没有这样执行过,一直在npm i后面加-g
——可能是吧

接着第二步也可以在终端指定版本号下载,他就是来解决下面这个问题的


./node_modules/antd/es/button/style/index.less (./node_modules/css-loader/dist/cjs.js??ref--5-oneOf-8-1!./node_modules/postcss-loader/src??postcss!./node_modules/resolve-url-loader??ref--5-oneOf-8-3!./node_modules/less-loader/dist/cjs.js??ref--5-oneOf-8-4!./node_modules/antd/es/button/style/index.less)
TypeError: this.getOptions is not a function

原来这个问题也是版本号的问题,直接下载npm i less less-loader下载的都是最新版,导致less-loader版本过高10.xx.xx,导致版本不匹配,搜索之后发现应该是"less": "^3.9.0", "less-loader": "^4.1.0"这样。
总之,忙活了一上午,可算给解决了,以后出现问题最重要的是思路清晰,一步步去尝试,一步步去解决…

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/169229.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Objective-C之父Brad J. Cox去世,他推动了今天苹果的软件生态[通俗易懂]

    Objective-C之父Brad J. Cox去世,他推动了今天苹果的软件生态[通俗易懂]本文转载自机器之心近日,讣告网站Legacy.com发布消息:Objective-C之父BradJ.Cox博士于2021年1月2日在自己的家中逝世,享年77岁。如果你是苹果生态的一位开发者,那你对Objective-C一定不会陌生。这门语言成就了苹果强大的软件生态,也因为苹果硬件的畅销而一路高歌猛进,挺进各大编程语言排行榜的前几名。作为一位计算机科学家,BradCox的主要成就是和TomLove一起创建了Objective–C。此外,他还以在软件工

    2022年5月29日
    37
  • BZOJ4872:[SHOI2017]分手是祝愿——题解

    BZOJ4872:[SHOI2017]分手是祝愿——题解

    2022年3月13日
    36
  • python优势有哪些?[通俗易懂]

    python优势有哪些?[通俗易懂]ol是英文orderedlist的缩写,翻译为中文是有序列表。有序列表是一种强调排列顺序的列表,使用标签定义,内部可以嵌套多个 标签。例如网页中常见的歌曲排行榜、游戏排行榜等都可以通过有序列表来定义。定义有序列表的基本语法格式如下: 列表项1 列表项2 列表项3 ……   在上面的语法中, 标签用于定义有序列表, 为具体的列表项,和无序列表类似,每对中 也至少应包含一对 。   在有序列表中,除了type属性之外,还可以为 定义start属..

    2022年10月5日
    1
  • 碰撞检测经典解决方案

    碰撞检测经典解决方案碰撞检测在3D游戏中至关重要,好的碰撞检测要求人物在场景中可以平滑移动,遇到一定高度内的台阶可以自动上去,而过高的台阶则把人挡住,遇到斜率较小的斜坡可以上去,斜率过大则把人挡住,在各种前进方向被挡住的

    2022年7月3日
    35
  • 程序员联合开发网chaijiabai_程序员开发手册

    程序员联合开发网chaijiabai_程序员开发手册 程序员创业指导书本文转自http://www.programsalon.com/whydo.asp

    2025年6月13日
    1
  • 常用经典SQL语句大全完整版–详解+实例

    常用经典SQL语句大全完整版–详解+实例下列语句部分是Mssql语句,不可以在access中使用。  SQL分类:  DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE)  DML—数据操纵语言(SELECT,DELETE,UPDATE,INSERT)  DCL—数据控制语言(GRANT,REVOKE,COMMIT,ROLLBACK)  首先,简要介绍基础语句:  1、说明:创建数据库CREATED…

    2022年5月19日
    42

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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