grunt:找不到命令

npm知道grunt是全球安装的,为什么不能find?

$ npm install -g grunt ... installs ... $ npm list -g | grep grunt │ ├─┬ gruntfile-editor@0.2.0 │ ├─┬ gruntfile-editor@0.2.0 ├─┬ grunt@0.4.5 │ ├─┬ grunt-legacy-log@0.1.1 │ ├── grunt-legacy-util@0.2.0 $ grunt -bash: grunt: command not found 

我认为是因为它把它放在我的path上的某个地方。

为什么npm只是把它放在我的PATH默认的地方,比如/usr/local/bin

更新:奇怪的是,即使在我执行npm install grunt在本地运行之后,我也得到了同样的grunt: command not found错误。 我究竟做错了什么? 在我的回购中有一个Gruntfile.js

“grunt”包是任务运行器本身,而“grunt-cli”包是包含grunt可执行文件的命令行界面。 您可以确保将其安装到正确的path。

如果你执行npm install grunt-cli它仍然不能工作,因为这将被安装到最有可能不在你path上的相应目录中的node_modules 。 但是,当你从全局安装的CLI工具中使用grunt ,它会寻找一个安装在本地的grunt以及Gruntfile.js

你必须做的是

  1. 全球安装grunt-cli

    $ npm install grunt-cli -g

  2. 在您的依赖项中安装grunt local(可选地将依赖项保存到您的package.json中):

    $ npm install grunt –save