grunt:找不到命令

Ric*_*ard 3 node.js npm gruntjs

npm知道grunt是全局安装的,为什么不找到?

$ 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
Run Code Online (Sandbox Code Playgroud)

我假设因为它把它放在我的PATH上的某个地方.

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

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

Exp*_*lls 8

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

如果你这样做npm install grunt-cli仍然无法工作,因为这将被安装到node_modules相应的目录中,这很可能不在你的路径上.但是,当您使用grunt全局安装的CLI工具时,它将查找该项目本地的grunt的安装以及Gruntfile.js

你要做的是

  1. grunt-cli全局安装:

    $ npm install grunt-cli -g

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

    $ npm install grunt --save