Zsh:找不到命令:webpack

Posted

技术标签:

【中文标题】Zsh:找不到命令:webpack【英文标题】:Zsh: command not found: webpack 【发布时间】:2016-06-26 05:06:48 【问题描述】:

我正在学习 React 并通过 npm 将 webpack 安装到我的项目目录中,但 zsh 没有找到命令,即使我可以看到我的项目中安装了 webpack。我使用了npm init --yes,然后是npm install --save webpack

【问题讨论】:

【参考方案1】:

编辑:不要这样做。不好的做法。

简单的方法。全局安装。

npm i -g webpack

如果你会使用 webpack,也要安装 webpack-dev-server

npm i -g webpack-dev-server

我建议你先了解一下npm,然后再了解webpack

【讨论】:

根据文档:这不是推荐的做法。 webpack.js.org/get-started/install-webpack @HelmutGranda 事情可能会改变。 @atilkan 它没有改变。 Webpack 文档仍然建议不要全局安装。 @atilkan 它不会改变;像 webpack 这样的全局安装是非常糟糕的做法。 webpack 的配置是基于每个项目完成的,这是有充分理由的,除了安装在项目 package.json 中的可能经过测试的版本之外,您真的不希望使用 webpack 的版本。你可以通过这种方式得到损坏的包裹。当使用多个包时,您可能会遇到这样的情况:由于配置不同,它们需要互斥的版本号,而全局无法做到这一点。 @Thor84no 我同意。我写解决问题的答案的时间。这可能是 zshell 问题。【参考方案2】:

如果您使用的是 Windows,请尝试将 %USERPROFILE%\Appdata\Roaming\npm 放入您的路径并重试。

【讨论】:

【参考方案3】:

无需全局安装 webpack。

试试我的方法:

首先,在您的 package.json 文件中,添加以下内容:

"scripts": 
   "start": "webpack"
,

然后,在终端中运行

$npm start

另一种快捷方式: 只需运行(是的,它是'npx')

$npx webpack

就是这样。

【讨论】:

【参考方案4】:

在本地安装了 webpack,你也可以使用:

$(npm bin)/webpack

代替:

./node_modules/.bin/webpack

【讨论】:

【参考方案5】:

全局安装节点模块是一种快速的解决方案,但我建议将./node_modules/.bin 添加到路径变量中并尝试了解问题所在。

执行

~ export PATH="./node_modules/.bin:$PATH"

之后,您可以简单地使用项目中本地安装的所有包。 也可以在不全局安装这些软件包的情况下执行诸如 mochaeslint 之类的命令。 那里有几个很好的解释,也可以阅读answer。

【讨论】:

不要那样做...将相对路径放入 $PATH 变量是一个安全漏洞。见***.com/a/9683472/1521572【参考方案6】:

就我而言,我在使用 webpack、grunt 和 gulp 时遇到了这个问题,而且似乎我的问题是权限问题。

我在全球范围内安装了 webpack 和 grunt。然而,即便如此,$ webapack 或 $ grunt 仍会导致 command not found

问题是 npm 将全局包安装到需要 root 权限的 /usr/local/lib/node_modules 中。

因此,为了避免必须使用 root 权限,我将要安装全局包的目录更改为 $HOME 中的目录。为此,我遵循了本指南:

Install npm packages globally without sudo on macOS and Linux

在此之后,我再次全局安装了 webpack 和 grunt(这次没有 sudo)并验证它们已安装在我的新目录中。

现在,我可以毫无问题地运行了!

$ 网络包

$ 咕噜声

【讨论】:

以上是关于Zsh:找不到命令:webpack的主要内容,如果未能解决你的问题,请参考以下文章

zsh:找不到命令:php

zsh:找不到命令:macOS 上的 mkfs

如何修复“zsh:找不到命令:vue”?

zsh:找不到命令:dotnet-ef

在 zsh 中安装 npm 后找不到命令

zsh:找不到命令:react-native - MacOS