如何解决[webpack-cli] TypeError: cli.isMultipleCompiler is not a function

Dav*_*Gil 19 webpack webpack-cli

我收到了我不明白的错误,我尝试了很多方法,例如重新安装所有依赖项,但它不起作用任何想法?这里是错误提示:

No production canister_ids.json found. Continuing with local
[webpack-cli] TypeError: cli.isMultipleCompiler is not a function
    at Command.<anonymous> (/Users/davidmartinezgil/proyect/node_modules/@webpack-cli/serve/lib/index.js:146:35)
    at async Promise.all (index 1)
    at async Command.<anonymous> (/Users/davidmartinezgil/proyect/node_modules/webpack-cli/lib/webpack-cli.js:1674:7)
Run Code Online (Sandbox Code Playgroud)

Nel*_*yes 50

我在尝试运行 Jhipster 应用程序时遇到了类似的错误,错误是:

[webpack-cli] TypeError: cli.isMultipleCompiler is not a function
at Command.<anonymous> (C:\Users\doe\folder\MyApp\node_modules\@webpack-cli\serve\lib\index.js:146:35)
at processTicksAndRejections (node:internal/process/task_queues:96:5)
at async Promise.all (index 1)
at async Command.<anonymous> (C:\Users\doe\folder\MyApp\node_modules\webpack-cli\lib\webpack-cli.js:1674:7)
Run Code Online (Sandbox Code Playgroud)

有人建议将webpack-cli4.9.2更新到4.10.0

对我来说有效并且可以运行npm start

我希望对你有用。

来自 webpack 问题的参考

  • 非常感谢它有效,我将 package.json 中的版本更改为 4.10.0,然后运行“npm i”,当我再次使用 npm start 时它工作得很好,谢谢。 (2认同)

Jor*_*res 14

确保您位于终端的项目目录中

首先,在终端中输入以下内容并按 Enter 键

npm install --save-dev webpack-cli
Run Code Online (Sandbox Code Playgroud)

然后输入以下内容并按 Enter 键:

npm upgrade --save-dev webpack-cli
Run Code Online (Sandbox Code Playgroud)

它应该有效

也许您必须在创建的每个新项目中执行此操作。


小智 7

以下是为其他好奇的人更新 webpack-cli 的方法。

首先,通过在 IDE 终端中运行以下命令来检查您的 webpack 版本:webpack --version。您应该看到一个如下所示的列表:

webpack: 5.71.0
webpack-cli: 4.10.0     
webpack-dev-server 4.8.0
Run Code Online (Sandbox Code Playgroud)

如果您的 webpack-cli 读取以下内容4.10.0,那么您需要将其更新到最新版本,以便 npm 能够使用 JHipster 在本地主机上正常运行。以下是更新方法。

在 IDE 的终端中运行此命令:

npm install webpack-cli@4.10.0
Run Code Online (Sandbox Code Playgroud)

[目前,最新版本是4.10.0,但对于运行此命令时的未来更新,请将命令行末尾的版本更改为更新到当前版本:

npm install webpack-cli@(INSERT NEW VERSION DIGITS HERE).
Run Code Online (Sandbox Code Playgroud)

然后重新运行webpack --version,看看你的 webpack 是否已经更新到你上面输入的版本。


额外说明:

为什么会出现这个错误?根据webpack.js.org:“请注意,这不是推荐的做法。全局安装会将您锁定到特定版本的 webpack,并且在使用不同版本的项目中可能会失败。”

因此,如果您运行这样的命令:npm install --global webpack,那么您很可能被锁定到特定版本。这可能就是错误所在。无论如何,我相信这就是发生在我身上的事情。我跑了npm install -g,或者类似的事情。

与上述材料相关的旅程和研究来源:

  1. https://webpack.js.org/guides/installation/
  2. https://stackabuse.com/npm-install-specific-version-of-a-package/

希望这可以帮助!给你最好的祝福!