【发布时间】:2016-06-26 05:06:48
【问题描述】:
我正在学习 React 并通过 npm 将 webpack 安装到我的项目目录中,但 zsh 没有找到命令,即使我可以看到我的项目中安装了 webpack。我使用了npm init --yes,然后是npm install --save webpack
【问题讨论】:
我正在学习 React 并通过 npm 将 webpack 安装到我的项目目录中,但 zsh 没有找到命令,即使我可以看到我的项目中安装了 webpack。我使用了npm init --yes,然后是npm install --save webpack
【问题讨论】:
编辑:不要这样做。不好的做法。
简单的方法。全局安装。
npm i -g webpack
如果你会使用 webpack,也要安装 webpack-dev-server
npm i -g webpack-dev-server
我建议你先了解一下npm,然后再了解webpack。
【讨论】:
如果您使用的是 Windows,请尝试将 %USERPROFILE%\Appdata\Roaming\npm 放入您的路径并重试。
【讨论】:
无需全局安装 webpack。
试试我的方法:
首先,在您的 package.json 文件中,添加以下内容:
"scripts": {
"start": "webpack"
},
然后,在终端中运行
$npm start
另一种快捷方式: 只需运行(是的,它是'npx')
$npx webpack
就是这样。
【讨论】:
在本地安装了 webpack,你也可以使用:
$(npm bin)/webpack
代替:
./node_modules/.bin/webpack
【讨论】:
全局安装节点模块是一种快速的解决方案,但我建议将./node_modules/.bin 添加到路径变量中并尝试了解问题所在。
执行
~ export PATH="./node_modules/.bin:$PATH"
之后,您可以简单地使用项目中本地安装的所有包。
也可以在不全局安装这些软件包的情况下执行诸如 mocha 或 eslint 之类的命令。
那里有几个很好的解释,也可以阅读answer。
【讨论】:
就我而言,我在使用 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)并验证它们已安装在我的新目录中。
现在,我可以毫无问题地运行了!
$ 网络包
和
$ 咕噜声
【讨论】: