38

I have a problem installing grunt. All the documentation, and blog post tutorials, say that running:

npm install -g grunt

will then allow you to run grunt commands from the terminal.

I have a situation where grunt appears to install with no errors, but typing the command grunt in the terminal still gives:

-bash: grunt: command not found

What could I be doing wrong? And where could I find grunt to add it to my BASH profile manually?

4

4 回答 4

107

由于 Grunt 版本 0.4(在 1 或 2 周前发布),您需要全局安装 grunt 命令行工具(如果需要,请sudo在命令之前使用):

npm install -g grunt-cli

然后在您的项目位置安装最新的grunt版本:

npm install grunt --save-dev

Option--save-dev会将npm配置保存在您的package.json文件中,这样可以更轻松地安装或重新安装依赖项(仅使用npm install)。

于 2013-02-28T19:34:57.503 回答
13

尝试使用详细标志运行安装:

npm install -g grunt --verbose

您可以看到它的安装位置(例如 /usr/local/share/npm/bin/grunt)。然后检查你的路径:

echo $PATH

如果路径不包含安装 bin 位置,请修改 bash 配置文件中的路径以包含 bin 目录的位置,然后在新终端中再次尝试 grunt。

更新:Grunt 0.4 改变了安装过程。对于 0.4 安装,请参阅下面 asgoth 的回答。

于 2012-09-21T21:39:37.460 回答
6

似乎grunt在当前版本0.4.0中没有安装 bin 命令。最后一个0.3.x版本是0.3.17,它支持 bin 命令。要从命令行运行 grunt,您需要安装 grunt 命令行 grunt-cli:

npm install -g grunt-cli --verbose
于 2013-02-28T15:59:44.060 回答
6

我已经使用 Homebrew 安装了节点,这是我的解决方案:

  • set config for -g (GLOBAL) install directory directory: npm config set prefix /Users/YOURNAME/.node/

  • 确保编辑 PATH: sudo nano ~/.profile

  • 添加到路径:export PATH="/Users/YOURNAME/.node/bin:"$PATH

  • 然后更新源:source ~/.profile

遵循这些步骤将允许将使用npm install -g somePKG 安装的任何软件包放置在正确的位置,而不管您当前的工作目录如何。并且通过正确更新您的 $PATH 命令行功能将起作用。

信息基于:修复 npm 权限 - bit.ly/1CmIyqx

于 2015-06-22T05:51:49.777 回答