在运行了npm install webpack -g之后,发现webpack命令无法使用

13
我在我的OSX Yosemite上遇到了奇怪的问题:从一天到另一天,通过npm install -g安装的所有节点模块在终端中都找不到。
我不确定这是否是由于我前一天安装的node v4.0.0引起的。

4
我找到了一个部分解决问题的技巧:当你运行npm root命令时,你应该会得到你当前工作目录的路径。这就是在你安装模块时npm放置它们的地方。但是当你运行npm root -g命令时,你应该会得到类似于/usr/local/lib/node_modules的东西。如果在两种情况下都得到了你当前的工作目录路径,那么你需要使用以下命令更新路径:npm config set prefix /usr/local 感谢gabriel ghe提供的内容。 - imaginair
2
我的问题实际上是因为我使用了 NVM 在不同的项目之间切换版本,导致我的 Node 版本指向了一个旧版本。 - Sam Quayle
这个问题在Windows上也会出现... - J K
4个回答

9

试试这个

echo $(npm config get prefix)/bin

您将得到一个字符串(STRING),应该像这样添加到您的 .bash_profile 文件中:
export PATH=$PATH:STRING

5

全局安装

npm i -g webpack

如果您要使用webpack,请同时安装webpack-dev-server。
npm i -g webpack-dev-server

安装这两个命令后,我运行时也发现了错误。
webpack

命令使我通过更改webpack的版本来解决问题,所以我安装了新版本。

npm install webpack@2.1.0-beta.22

我一切都很顺利。

我建议您先了解一些关于npm然后再学习webpack。这样做可能会遇到很多困难,但最终你会找到正确的方向。


谢谢,这在我的Mac上运行良好,又快又简单! - hit3k

1

我最近开始使用 NVM 来管理多个 NodeJS 版本,一切都恢复了正常。


1

Webpack在你的./node_modules/.bin/文件夹中,因此不要只使用webpack作为命令,请尝试以下方法。

./node_modules/.bin/webpack

您可以使用npm bin命令获取npm将安装可执行文件的文件夹。

您可以使用package.json文件的scripts属性从该目录使用webpack进行导出。

"scripts": {   "scriptName": "webpack --config etc..." } For example:
"scripts": {   "build": "webpack --config webpack.config.js" } You can

然后使用以下命令运行它:

npm run build 或者带有参数的命令:

npm run build -- <args>

这样可以让你在项目的根目录中拥有webpack.config.js,而无需全局安装webpack或将webpack配置放在node_modules文件夹中。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接