【完美解决】webpack 升级问题 Error: Cannot find module ‘webpack-cli/bin/config-yargs‘

我用vue init webpack myvue 新建了一个vue项目,npm run dev能正常启动,
然后我又跟着B站老师安装了webpack和webpack-cli,后来再运行这个项目的时候就报错了:
internal/modules/cjs/loader.js:892
throw err;
^

Error: Cannot find module ‘webpack-cli/bin/config-yargs’
Require stack:

  • /Users/xxx/Documents/Vue/myvue/node_modules/webpack-dev-server/bin/webpack-dev-server.js
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:889:15)
    at Function.Module._load (internal/modules/cjs/loader.js:745:27)
    at Module.require (internal/modules/cjs/loader.js:961:19)
    at require (internal/modules/cjs/helpers.js:92:18)
    at Object. (/Users/xxx/Documents/Vue/myvue/node_modules/webpack-dev-server/bin/webpack-dev-server.js:65:1)
    at Module._compile (internal/modules/cjs/loader.js:1072:14)
    at Object.Module._extensions…js (internal/modules/cjs/loader.js:1101:10)
    at Module.load (internal/modules/cjs/loader.js:937:32)
    at Function.Module._load (internal/modules/cjs/loader.js:778:12)
    at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:76:12) {
    code: ‘MODULE_NOT_FOUND’,
    requireStack: [
    ‘/Users/xxx/Documents/Vue/myvue/node_modules/webpack-dev-server/bin/webpack-dev-server.js’
    ]
    }

package.json配置如下(也是npm安装webpack后的版本,在项目目录下安装完成后会自动更新package.json中的配置)
··
webpack 5.47.1
webpack-cli 4.7.2
webpack-dev-server 3.11.2
··
网上的方法试过很多,都不行,比如修改start,将webpack-cli降级,运行都是各种报错,降级后还出现其他问题,又是一通百度,报错如下:
/Users/xxx/Documents/Vue/myvue/build/webpack.dev.conf.js:52
new webpack.NamedModulesPlugin(), // HMR shows correct file names in console on update.
^

TypeError: webpack.NamedModulesPlugin is not a constructor
at Object. (/Users/xxx/Documents/Vue/myvue/build/webpack.dev.conf.js:52:5)
at Module._compile (internal/modules/cjs/loader.js:1072:14)
at Object.Module._extensions…js (internal/modules/cjs/loader.js:1101:10)
at Module.load (internal/modules/cjs/loader.js:937:32)
at Function.Module._load (internal/modules/cjs/loader.js:778:12)
at Module.require (internal/modules/cjs/loader.js:961:19)
at require (internal/modules/cjs/helpers.js:92:18)
at WEBPACK_OPTIONS (/Users/xxx/Documents/Vue/myvue/node_modules/webpack-cli/bin/utils/convert-argv.js:114:13)
at requireConfig (/Users/xxx/Documents/Vue/myvue/node_modules/webpack-cli/bin/utils/convert-argv.js:116:6)
at /Users/xxx/Documents/Vue/myvue/node_modules/webpack-cli/bin/utils/convert-argv.js:123:17
at Array.forEach ()
at module.exports (/Users/xxx/Documents/Vue/myvue/node_modules/webpack-cli/bin/utils/convert-argv.js:121:15)
at Object. (/Users/xxx/Documents/Vue/myvue/node_modules/webpack-dev-server/bin/webpack-dev-server.js:84:40)
at Module._compile (internal/modules/cjs/loader.js:1072:14)
at Object.Module._extensions…js (internal/modules/cjs/loader.js:1101:10)
at Module.load (internal/modules/cjs/loader.js:937:32)
找来找去都没啥用,反而把系统配置参数弄的乱七八糟。

解决方法

既然当时用vue 创建的项目能够正常运行,那我为什么不还原回去呢?那我就先npm uninstall webpack,npm uninstall webpack-cli.

然后再把package,json文件还原,在项目目录下运行npm install,最后nom run dev,完美解决!

前端一大堆的这种版本问题,让一个后端怎么进步呢?前端的朋友要加油,尽快把这种问题解决,谢谢了!

写在最后:
上面的项目在使用vue init webpack hello-vue创建的项目时不管用,作为一种方式供大家参考。
另外一种方法:
我是在B站跟着狂神学的Vue,他那时候用的Vue2.X,我系统里Vue 版本是2.9.6,但是用npm安装webpack,webpack-cli就会直接安装最新的5.X,不管我怎么指定版本安装,npm audit fix一下就又是最新的。并且老师用的创建项目的命令是:vue init webpack hello-vue,这是V2.X版本使用的方法。

Vue是2.X版本,nodejs版本是V14.X,但是webpack又是最新版本,我觉得是不是两者版本不兼容,所以我就卸载了本地低版本的Vue,下载了最新版本的Vue:$ npm install -g @vue/cli。然后再使用vue-cli3.X创建项目:vue create hello-world,运行npm run serve 成功!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 这个错误通常发生在使用Webpack时,因为Webpack CLI没有正确安装或配置。是的,这个错误通常发生在使用Webpack时,因为Webpack CLI没有正确安装或配置。Webpack CLI是一个命令行工具,用于在命令行中运行Webpack命令。如果Webpack CLI没有正确安装或配置,它可能无法找到所需的模块,从而导致出现类似“cannot find module 'webpack-cli/bin/config-yargs'”的错误。 解决这个问题的方法包括: 1. 确认你已经全局安装了webpack-cli:在命令行中输入“npm list -g webpack-cli”,检查webpack-cli是否已经安装。如果没有安装,可以通过“npm install -g webpack-cli”来全局安装webpack-cli。 2. 确认你的项目中已经安装了webpack-cli:在项目的根目录下,运行“npm list webpack-cli”,检查webpack-cli是否已经安装。如果没有安装,可以通过“npm install webpack-cli --save-dev”来安装webpack-cli。 3. 确认你的webpack配置文件是否正确:检查webpack.config.js文件中是否正确地配置了webpackwebpack-cli。 4. 如果上述方法都没有解决问题,可以尝试更新npm和node.js版本,然后重新安装webpack-cli。 ### 回答2: 这个错误是由于缺少webpack-cli模块中的bin/config-yargs文件所引起的。webpack-cliwebpack的命令行工具,用于执行webpack命令。当我们执行webpack命令时,会查找webpack-cli模块,并在其中查找bin/config-yargs文件。如果找不到这个文件,就会抛出"cannot find module 'webpack-cli/bin/config-yargs'"的错误。 要解决这个问题,我们可以尝试以下几个方法: 1. 检查webpack-cli模块是否已安装:首先确保你已经在项目中安装了webpack-cli模块。可以通过在命令行中执行npm ls webpack-cli命令来检查。 2. 版本兼容性问题:如果你已经安装了webpack-cli模块,但仍然出现错误,可能是由于版本兼容性问题导致的。尝试安装或更新webpack-cli模块的最新版本,可以使用npm install webpack-cli@latest命令来更新。 3. 清除缓存:有时候,在安装或升级模块后,旧的缓存文件可能会导致错误。可以尝试清除npm缓存,使用npm cache clean命令清除缓存,然后重新安装webpack-cli模块。 如果以上方法都没有解决问题,可能是其他相关配置文件出现了问题,可以检查webpack配置文件是否正确,并确保相关依赖模块已安装。 总之,错误"cannot find module 'webpack-cli/bin/config-yargs'"通常是由于缺少或损坏的webpack-cli模块所引起的。通过检查模块是否安装、更新模块版本、清除缓存等方法,可以尝试解决这个问题。如果问题仍然存在,可能需要进一步检查其他配置文件或依赖项。 ### 回答3: 这个错误提示表示无法找到模块'webpack-cli/bin/config-yargs'。这通常是因为没有正确安装或配置WebpackCLI(命令行工具)。 要解决这个问题,可以尝试以下几个步骤: 1. 确认安装了webpack-cli模块:在命令行中输入`npm install webpack-cli -g`或`yarn global add webpack-cli`来全局安装webpack-cli模块。如果之前已经安装过,可以尝试卸载并重新安装。 2. 检查Webpack的配置文件:确认项目根目录中是否存在webpack.config.js或其他Webpack的配置文件。如果没有,则需要创建一个。 3. 更新Webpack的版本:如果已经安装了旧版本的Webpack,尝试更新到最新版本。可以使用`npm update webpack`或`yarn upgrade webpack`来更新。 4. 清除缓存并重新安装依赖:有时候,缓存中的某些文件可能导致问题。可以尝试使用`npm cache clean`或`yarn cache clean`来清除缓存,并重新安装项目的依赖。 5. 确保正确执行Webpack命令:在命令行中输入`webpack`来执行Webpack命令。确保正确使用了Webpack的命令行参数和选项。 如果以上步骤都无法解决问题,可以尝试搜索类似的错误信息,查看其他开发者的解决方案,或提交问题到相关社区寻求帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值