webpack 不被识别为内部或外部命令、可运行程序或批处理文件

Posted

技术标签:

【中文标题】webpack 不被识别为内部或外部命令、可运行程序或批处理文件【英文标题】:webpack is not recognized as a internal or external command,operable program or batch file 【发布时间】:2016-06-19 00:31:25 【问题描述】:

我正在学习 React.js,我正在使用 Windows 8 OS。我已经导航到我的根文件夹

1.Created the package.json file by npm init
2. install webpack by npm install -S webpack.now webpack has been downloaded to my modules folder
3. install webpack globally by typing npm install webpack -g
4. i am also having a webpack.config.js in my root folder which contains the source and ouput directory
5. when i type the webpack command i am getting the below error.

webpack 未被识别为内部或外部命令、可运行程序或批处理文件

【问题讨论】:

我遇到了这个问题,但是重启IDE(在我的情况下是phpStorm)后问题解决了 【参考方案1】:

解决这个问题更好的办法是全局安装Webpack

这总是有效的,它对我有用。试试下面的命令。

npm install -g webpack

【讨论】:

我认为应该注意的是,使用 -g 会全局安装 webpack,如果您有多个项目可能需要不同版本的 webpack,您可能不希望这样做。 我也跑了npm install -g webpack-cli。现在可以了。【参考方案2】:

作为替代方案,如果您在本地安装了 Webpack,您可以明确指定命令提示符应该在哪里找到它,如下所示:

node_modules\.bin\webpack

(这确实假设您在带有package.json 的目录中并且您已经运行了npm install webpack。)

【讨论】:

同意 Max,原因是建议在本地安装 webpack(在 devDependencies 中) - 我的问题有点不同,但在 VS 2017 中添加 webpack 作为预构建步骤时,我认为 VS 足够聪明,可以在没有完整路径的情况下在本地找到 webpack cmd @JimiSweden 您是否尝试将node_modules\.bin 添加到工具->配置外部工具 您可以尝试使用npx webpack,它还会检查./node_modules/.bin,而不是摆弄路径。 这是迄今为止唯一对我有用的答案。【参考方案3】:

我也有这个问题很长时间了。 (webpack 已全局安装等,但仍无法识别) 原来我没有为 npm 指定环境变量(文件 webpack.cmd 在哪里) 所以我添加到我的 Path 变量中

%USERPROFILE%\AppData\Roaming\npm\

如果您使用的是 Powershell,您可以键入以下命令来有效地添加到您的路径中:

[Environment]::SetEnvironmentVariable("Path", "$env:Path;%USERPROFILE%\AppData\Roaming\npm\", "User")

重要提示:不要忘记关闭并重新打开您的 powershell 窗口以应用此功能。

【讨论】:

好吧,我被困在同一个地方......你能详细说明你的答案吗 我按照所有步骤进行操作,但没有成功,然后我终于意识到,我没有以管理员身份打开 CMD。 最好设置为 %APPDATA%\npm【参考方案4】:

npm install -g webpack-dev-server 将解决您的问题

【讨论】:

它可能会解决 OP 发布的错误消息,但这不是解决问题的好方法,因为它增加了更多的依赖项,而不是 只是 解决缺少的 webpack。查看任何其他高票数的答案以获得更好的选择。 正如不同的贡献者已经指出的那样(参见其他答案/cmets),全局安装被认为是不好的做法,因为它会将您锁定在一个版本中。另见webpack.js.org/guides/installation 我遇到了这个问题,你的解决方案很好地解决了我的问题'webpack-dev-server' is not recognized as an internal or external command, operable program or batch file. 【参考方案5】:

尝试删除本地目录中的node_modules,然后重新运行npm install

【讨论】:

【参考方案6】:

也许全新安装可以解决问题。这个“命令”会删除所有以前的模块并重新安装它们,可能是在 webpack 模块没有完全下载和安装的时候。

npm clean-install

【讨论】:

【参考方案7】:

在你的 package.json 中添加 webpack 命令作为 npm 脚本。


    "name": "react-app",
    "version": "1.0.0",
    "scripts": 
      "compile": "webpack --config webpack.config.js"
    

然后运行

npm 运行编译

安装 webpack 时,它会在 ./node_modules/.bin 文件夹中创建一个二进制文件。 npm scripts 还会查找在此文件夹中创建的可执行文件

【讨论】:

不起作用 - npm install -g webpack-dev-server 是正确的命令【参考方案8】:

Webpack CLI 现在位于一个单独的包中,必须全局安装才能使用“webpack”命令:

npm install -g webpack-cli

编辑:发生了很大变化。 Webpack 人员不建议全局安装 CLI(或单独安装)。现在应该修复此问题,但正确的安装命令是:

npm install --save-dev webpack

此答案最初旨在作为 OPs 问题的“解决方法”。

【讨论】:

“必须全局安装”据我了解是不正确的。甚至 webpack 的人也反对它。见webpack.js.org/guides/installation【参考方案9】:

我们也遇到过这个问题,我喜欢所有建议使用package.json 中定义的脚本的答案。

对于我们的解决方案,我们经常使用以下顺序:

    npm install --save-dev webpack-cli(如果您使用的是 webpack v4 或更高版本,否则使用 npm install --save-dev webpack,请参阅 webpack installation,检索于 2019 年 1 月 19 日) npx webpack

第 1 步是一次性的。步骤 2 还检查 ./node_modules/.bin。您也可以将第二步作为 npm 脚本添加到 package.json,例如:


   ...
   "scripts": 
      ...
      "build": "npx webpack --mode development",
      ...
   ,
   ...

然后使用npm run build 执行此脚本。

在 Windows 10 上使用 npm 版本 6.5.0、webpack 版本 4.28.4 和 webpack-cli 版本 3.2.1 测试此解决方案,在 PowerShell 窗口内执行所有命令。我的 nodejs 版本是/曾经是 10.14.2。我还在 Ubuntu Linux 版本 18.04 上对此进行了测试。

我建议不要在全局范围内安装 webpack,特别是如果您正在处理许多不同的项目,每个项目都可能需要不同版本的 webpack。全局安装 webpack 会将您锁定到同一台机器上所有项目的特定版本。

【讨论】:

【参考方案10】:
npx webpack

它对我有用。我使用的是 Windows 10,并在本地安装了 webpack。

【讨论】:

【参考方案11】:

你必须在同一个范围内安装 webpack 和 webpack-cli。

npm i -g webpack webpack-cli

或者,

npm i webpack webpack-cli

如果你在本地安装它,你需要专门调用它

node_modules/.bin/webpack -v

【讨论】:

或者,如果安装在本地,你可以使用npx webpack(使用npm 6.5.0、webpack 4.28.4和webpack-cli 3.2.1测试) 那是票 npm i -g webpack webpack-cli【参考方案12】:

对我来说,单独安装 webpack 是可行的。很简单:

$npm install
$npm install webpack

我不确定为什么需要这样做,但它确实有效。

【讨论】:

【参考方案13】:

只需以管理员身份运行命令行 (cmd)。

【讨论】:

【参考方案14】:

我遇到了同样的问题,只是将代码块添加到我的 package.json 文件中;

 "scripts": 
   "build": "webpack -d --progress --colors"
 

然后在终端上运行命令;

npm run build

【讨论】:

【参考方案15】:

全局安装 WebPack

npm install --global webpack

【讨论】:

【参考方案16】:

如果您为您的 JS 项目创建一个样板文件夹以便您可以使用 JS 模块,webpackBabel 是很好的工具。

不要全局安装webpack,在安装两者的最新版本后,您的package.json 文件将被加载并准备复制以用于未来的项目。

确保删除 node_modules 文件夹以减小样板文件夹中的文件大小,然后使用 npm install 重新安装 node_modules。

我忘记运行 npm install 并在尝试运行我的 webpack dev-server 时一直收到此错误,直到我意识到我需要运行 npm install 来安装 node_modules 然后它才起作用。

【讨论】:

删除 node_modules + npm install 让我重新开始。谢谢!【参考方案17】:

如果你刚刚克隆了一个 repo,你首先需要运行

npm install

如果您缺少项目依赖项,则会生成您得到的错误。上面的命令将下载并安装它们。

【讨论】:

【参考方案18】:

我在升级到 React 16.12.0 时遇到了这个问题。

在渲染 DOM 时,我遇到了两个错误,一个是关于 webpack,另一个是关于 store

Webpack 错误:

webpack 不是内部或外部命令、可运行程序或批处理文件

Webpack 解决方案:

    关闭相关VS解决方案 删除node_modules文件夹 已删除package-lock.json npm install npm rebuild 重复了 2-3 次

存储错误:

Type Store 不可分配给类型 Store

商店解决方案:

更新我的 React 版本的建议并没有为我解决这个错误,但无论如何我都建议这样做。

我的代码最终看起来像这样:

ReactDOM.render(
        <Provider store=store as any>
            <ConnectedApp />
        </Provider>,
        document.getElementById('app')
    );

根据this solution

【讨论】:

【参考方案19】:

以下给出的命令对我有用。

npm cache clean --force
npm install -g webpack

注意 - 以管理员身份运行这些命令。安装后,关闭命令提示符并重新启动它以查看应用的更改。

【讨论】:

【参考方案20】:

我遇到了同样的错误,没有一个解决方案对我有用,我重新安装了节点并修复了我的环境,一切都恢复了。

【讨论】:

这也是我必须做的。我尝试了此处提供的至少三个其他“解决方案”,但除了再次卸载并重新安装 Node 之外,没有一个有效。【参考方案21】:

试试这个,cli需要更新到最新版本

npm install --save-dev @angular/cli@latest

归功于 R.Richards https://***.com/a/44526528/1908827

【讨论】:

【参考方案22】:

对我来说,解决方法是在本地将 webpack 安装为 devDependency。尽管我将其命名为devDependencies,但它并未安装在 node_modules 文件夹中。所以我跑了 npm install --only=dev

【讨论】:

【参考方案23】:

有时 npm install -g webpack 无法正确保存。最好使用 npm install webpack --save 。它对我有用。

【讨论】:

-g 全局安装(不是您的本地项目 node_modules + package.json),而 --save 安装在本地(在您的本地 node_modules + package.json 中)所以这个答案是错误的。【参考方案24】:

我遇到了同样的问题,但我无法解决。我浏览了每一行代码,但找不到我的错误。然后我意识到我在错误的文件夹中安装了 webpack。我的错误是没有注意我安装 webpack 的文件夹。

【讨论】:

以上是关于webpack 不被识别为内部或外部命令、可运行程序或批处理文件的主要内容,如果未能解决你的问题,请参考以下文章

React Native 错误 - yarn' 不被识别为内部或外部命令

“/”不被识别为内部或外部命令

修复:“nodemon”不被识别为内部或外部命令、可运行程序或批处理文件

laravel 不被识别为内部或外部命令

(boost C++ 库) bootstrap.bat: ''Web' 不被识别为内部或外部命令'

python不被识别为内部或外部命令[重复]