错误:找不到模块“webpack-cli/bin/config-yargs”

54

'Github' 要求我出于安全原因更新 'webpack-dev-server' 至版本 3.1.11 或更高版本。

然而,在更新后,'npm run dev' 将无法运行。

我无法解决这个问题。

错误:找不到模块 'webpack-cli/bin/config-yargs'

'package.json' 的代码如下。

  "dependencies": {
    "@vue/cli-plugin-babel": "^3.5.1",
    "config": "^3.0.1",
    "vue": "^2.5.2",
    "vue-router": "^3.0.1"
  },
  "devDependencies": {
    "vue-jest": "^1.0.2",
    "vue-loader": "^13.3.0",
    "vue-style-loader": "^3.0.1",
    "vue-template-compiler": "^2.5.2",
    "webpack": "^3.12.0",
    "webpack-bundle-analyzer": "^3.3.2",
    "webpack-cli": "^3.3.10",
    "webpack-dev-server": "^3.1.14",
    "webpack-merge": "^4.1.0"
  },
  "engines": {
    "node": ">= 6.0.0",
    "npm": ">= 3.0.0"
  },
  "browserslist": [
    "> 1%",
    "last 2 versions",
    "not ie <= 8"
  ]

1
请原谅我没有放置所有的代码,因为“看起来你的帖子大部分是代码,请添加更多细节。” - Sh031224
你之前使用的webpack-dev-server版本是多少? - yuriy636
你是怎么更新版本的? - yuriy636
它是2.11.5版本。那么更新的版本是什么?webpack-dev-server更新了吗? - Sh031224
2.x.x -> 3.x.x 是一个主要版本更新,因此可能与您的其余依赖项不兼容。我建议您查看漏洞报告,并在情况较小或不太可能时恢复更新。 - yuriy636
我明白了。谢谢。 - Sh031224
11个回答

170

您可以尝试在 package.json 文件中的 npm run 脚本中将 webpack-dev-server 更改为 webpack serve


29
当你的项目包含以下版本时,这个答案会很有用: webpack": "^5.2.0 webpack-cli": "^4.1.0 webpack-dev-server": "^3.11.0 - Mark
1
我曾经遇到同样的问题,但是找不到解决办法... 但是,这就是完美的答案... 正如@Mark所说... 对于他上面提到的版本完美适用... 谢谢。 - Vic B-A
我在使用Rails 6和Yarn时遇到了上述错误信息。我的package.json文件中没有脚本命令。@Gakis41,您知道如何处理吗? - Phipsen
@Gakis41:我终于发现,添加coffeescript模块导致了所有这些问题。我建立了一个新的rails项目,并逐个添加模块。在coffeescript和coffee-loader模块处失败了。在Rails 6中,我仍然使用webpack-dev-server启动,这很有效。我的package.json上有这些版本:"@webpack-cli/serve": "^1.2.2", "webpack-dev-server": "^3.11.2"。我将coffeescripts迁移到了js。不确定coffeescript是否会存活下来... - Phipsen
这就是答案!是的,我为了包版本和 npm 日志而苦苦挣扎,只为发现这实际上是原因。 - Rutwick Gangurde
显示剩余4条评论

35

由于某些原因,webpack团队更改了命令为webpack serve。在您的package.json中进行更改:

"start": "webpack serve"

参考:https://github.com/webpack/webpack-dev-server/issues/2759

我所使用的版本:

"webpack": "^5.10.0",
"webpack-cli": "^4.2.0",
"webpack-dev-server": "^3.11.0"

21

为了解决这个问题,只需要做2件事。

  1. 安装 npm i webpack-cli @webpack-cli/init
  2. 将以下内容添加到你的 package.json 文件中:
"scripts": {
  "start": "webpack-cli serve --mode development"
},

完成了!


1
谢谢您的帮助,我关注了很多博客和资料,但这并没有对我有所帮助。请再提供一些更详细的解释。 - Nikhil

20

我同意你需要从webpack 3 升级到 4,但具体来说这些是我必须要做的步骤,首先因为 webpack-cli 已被拆分成一个独立的包:

$ npm install webpack webpack-cli --save-dev

正如这里所解释的一样:https://webpack.js.org/guides/getting-started/#basic-setup


17

删除 package-lock.json 文件。在 package.json 中更改以下内容。

"webpack": "^4.32.2",
"webpack-cli": "^3.3.0",
"webpack-dev-server": "^3.11.0"

运行 npm install 命令


16

package.json文件中将webpack-dev-server更改为webpack serve

例如:

"scripts": { "start": "webpack serve --mode development --open" },

这对我有效!;-)


5
"scripts": {
    "start": "webpack serve --mode development",
    "build": "webpack --mode production"
  },

运行:npm run start 或 npm start now

3
由于webpack-cli的版本问题所致。在某些版本中,没有config-yargs.js文件。因此,对我而言,webpack-cli的版本号为^3.3.11的版本是有效的。 尝试一下: npm i webpack-cli@^3.3.11

1

我已经解决了这个问题,但感谢您的关注。 - Sh031224

0
你需要检查最新版本的webpack、webpack-cli和webpack-dev-server,获取这些信息后编辑package.json以反映这些版本并运行yarn install --check-files。然后,你需要使用命令“npx webpack serve”启动webpack-dev-server。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接