grunt:找不到命令

时间:2015-02-12 14:23:45

标签: node.js gruntjs npm

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

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

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

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

2 个答案:

答案 0 :(得分:8)

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

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

的安装

你需要做的是

  1. 全球安装grunt-cli

    $ npm install grunt-cli -g

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

    $ npm install grunt --save

答案 1 :(得分:1)

对我来说还有另外一件事,在Window的env变量中添加NPM文件夹的路径

  • 转到系统(我的电脑 - >属性)
  • 高级系统设置
  • 在“高级”标签中,“环境变量”
  • 在“用户变量”下,选择“路径”,然后选择“编辑”
  • 将其与您拥有的其他人一起添加:'%USERPROFILE%\ AppData \ Roaming \ npm'

希望这有帮助,g'luck