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"
之后,您可以简单地使用项目中本地安装的所有包。
也可以在不全局安装这些软件包的情况下执行诸如 mocha
或 eslint
之类的命令。
那里有几个很好的解释,也可以阅读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的主要内容,如果未能解决你的问题,请参考以下文章