Webpack:安装 webpack 和 webpack-cli 后运行 webpack 时仍然报错

Posted

技术标签:

【中文标题】Webpack:安装 webpack 和 webpack-cli 后运行 webpack 时仍然报错【英文标题】:Webpack: After installing webpack and webpack-cli still getting error when running webpack 【发布时间】:2018-08-06 02:21:48 【问题描述】:

我安装了最新版本的 webpack:

"webpack": "^4.0.0",
"webpack-cli": "^2.0.9"

然而,当我在终端中运行 webpack 时,我得到以下信息:

The CLI moved into a separate package: webpack-cli.
Please install 'webpack-cli' in addition to webpack itself to use the CLI.
-> When using npm: npm install webpack-cli -D
-> When using yarn: yarn add webpack-cli -D

【问题讨论】:

Issues with getting started with webpack 4的可能重复 更多相关webpack-4 文档here 【参考方案1】:

您似乎只全局安装了webpack 而不是webpack-cli

因此,npm install -g webpack-cli 解决了这个问题。


解释和替代解决方案:

首先为什么会出现问题?以下表示webpackwebpack-cli包都在本地安装:

我安装了最新版本的 webpack:

   "webpack": "^4.0.0",
   "webpack-cli": "^2.0.9"

在您的终端中运行webpack 找不到您本地安装的版本(由webpack-cli 自webpack-4 提供)。 这是因为你的本地可执行文件文件夹不包含在你的 shell PATH 变量中(shell 在其中查找命令的目录列表)。 npm在本地安装可执行文件的路径是./node_modules/.bin(更多信息here)。

因此,您需要运行,而不是尝试运行 webpack

./node_modules/.bin/webpack

另外,将只使用webpack 的脚本添加到您的package.json 是可行的,因为npm 在执行脚本之前会将本地./node_modules/.bin/ 目录添加到shell 路径(请参阅npm run)。

"scripts": 
    "build": "webpack"

然后,在终端中执行:npm run build

总而言之,我认为package.json 脚本是更清晰、更理想的方式。

【讨论】:

还可以在 GitHub 上查看这个 Webpack 4 Demo 项目。希望对您有所帮助!【参考方案2】:

使用 Npm 试试这个命令:

npm i -g webpack-cli -D --save

【讨论】:

这修复了它,但现在我得到一个不同的错误。我将为该错误创建一个新帖子。 对于所有好奇的人,上面的命令全局安装“webpack-cli”而不是本地路径。我 --> 安装; g --> 全局; D -->--save-dev 这可能是一个解决方案,但它很短且没有解释,carloluis 给出的答案要完整得多,应该是问题的答案【参考方案3】:

在 webpack 版本 ^4.0.0 中,webpack CLI 被移动到不同的包中。尽管此更改尚未反映在文档中,但有一个 pull request 解决了这个问题。

Carloluis's answer 解决了您的问题,但我想补充一点,建议不要进行全局安装。所以你的项目文件夹中的一个简单的npm install -D webpack-cli 就可以了。

【讨论】:

【参考方案4】:

webpack 团队正在将内容转移到 webpack-cli。我尝试全局安装 webpack-cli,它给了我 GIT 错误,如下所示。

请检查您是否安装了 git 并在您的 PATH 中。

所以我首先从https://gitforwindows.org/ 安装了 GIT,然后使用 npm 安装了 webpack-cli。

这个博客有详细的截图和补救措施来解决这个错误Angular webpack GIT and webpack-cli error。

【讨论】:

【参考方案5】:

我收到错误消息,说我需要安装 webpack-cli,即使我已经安装了 webpack-cli,但没有安装 webpack。所以我做了yarn add -D webpack,不需要全局安装。

【讨论】:

【参考方案6】:

我在使用 Rails 6 应用程序时遇到此错误

The CLI moved into a separate package: webpack-cli
Please install 'webpack-cli' in addition to webpack itself to use the CLI

我是这样解决的

如果您使用的是 npm,请运行:

npm i -D webpack-cli

如果您使用的是纱线,请运行:

yarn add -D webpack-cli

注意:您不需要在package.json 文件中添加/定义webpack-cli,因为安装它的命令还会在您的@987654328 中将webpack-cli 添加到您的devDependencies @文件。

就是这样

我希望这会有所帮助

【讨论】:

【参考方案7】:

我遇到了同样的错误。然后我通过在#installed webpack-cli( npm install -g webpack webpack-cli --save-dev) 使用#gitbash。

如果你得到它安装成功的版本,最后检查版本(webpack -v)。

希望这会帮助像我这样的人。谢谢

【讨论】:

以上是关于Webpack:安装 webpack 和 webpack-cli 后运行 webpack 时仍然报错的主要内容,如果未能解决你的问题,请参考以下文章

手把手教你用webpack3搭建react项目(开发环境和生产环境)

webpack打包js文件

webpack入坑之旅扬帆起航

webpack--1

未捕获的 ReferenceError:在 Angular 2 webpack 全局库安装中未定义要求

使用 Webpack 2 和 extract-text-webpack-plugin