在Windows 8上的Grunt:不能识别“咕噜”
我在我的Windows 8机器上从命令行运行Grunt时遇到问题。
我的研究表明,最常见的解决scheme是安装grunt-cli,因为Grunt不再是全球性的。 我还需要确保我实际安装了Grunt任务运行器,因为这不是用grunt-cli安装的。
其他解决scheme指向PATH系统环境variables,但似乎是我指望的指向:
C:\用户[用户名] \应用程序数据\漫游\ NPM
做完所有这些之后,我仍然在CLI中看到“咕噜声”不被识别为内部或外部命令,可操作的程序或batch file“错误消息。 我已经尝试了以下事情,每次尝试后都卸载所有内容:
- 在全局安装grunt-cli(npm install -g grunt-cli),然后在目录级别上使用grunt(npm install grunt)
- 与上面相同,但安装顺序相反
- 与上述两者相同,但使用pipe理员命令提示符
我错过了什么明显的?
 确认你的PATH是正确的(而不是搞砸了)。 只需从命令提示符下键入PATH 。 考虑到你所描述的错误和你所采取的步骤,真的没有其他的解释是有道理的。 
 通常情况下,如果npm安装正确并且已经正确添加到系统path中,那么使用where grunt命令可以在path中findgrunt.cmd 。 
我在几台不同的Windows 8机器上没有遇到任何问题。
 如果您打开文件夹: C:\Users\[username]\AppData\Roaming\npm 
 你在这个文件夹中有一个名为grunt.cmd的文件吗? 
 如果没有,我可能会再次尝试npm install -g grunt-cli ,也许是从提升的命令提示符。 
 如果存在,并且在PATH环境variables中有C:\Users\[username]\AppData\Roaming\npm ,则从命令提示符inputgrunt应该可以工作。 
愚蠢的问题,你试过closures命令提示符并打开一个新的?
- closures所有命令提示符实例。
- 启动一个新的命令提示符实例。
-   input PATHinput并validationC:\Users\Username\AppData\Roaming\npm是否为path的一部分。
-  如果不是,则需要重新注销 , 
 或closures命令提示符并重新启动explorer进程。
- 
在命令提示符下,input where gruntEnter 。
 如果它报告:C:\Users\Username\AppData\Roaming\npm\grunt C:\Users\Username\AppData\Roaming\npm\grunt.cmd
- 
否则,你必须重新安装 grunt-cli软件包,如果它报告:INFO: Could not find files for the given pattern(s).
 显然,更改PATH环境variables的程序必须广播WM_SETTINGCHANGE消息。 当您更改PATHvariables时,Windows的“ 系统设置”窗口会正确执行此操作,但NPM安装程序不会。 这就是为什么你必须重新启动资源pipe理器(或注销或重新启动,具有相同的效果)。 
我遇到过同样的问题。
我尝试了不同的东西:
- 重新启动计算机
- 删除了grunt文件夹并运行
npm install -g grunt -cli
没有工作。
终于试了:
npm install -g grunt-cli
完美的工作。
试着
哪里咕噜
我看到有两个地方被发现。
我知道这已经回答了,但我想我会提供我一步一步解决scheme的Windows 8。
我检查的第一件事是我的笔记本环境variables中的path(右键单击我的电脑>属性>高级系统设置>环境variables)
它没有在那里列出,所以我在用户variables中添加了一个新的variables(所以它只针对我的用户帐户)
在新的用户variables提示符下input以下内容;
 Variable Name: PATH Variable Value: %USERPROFILE%\AppData\Roaming\npm 
 退出命令提示符,repoened,导航到我的项目目录,并尝试再次运行grunt和…成功! 
我在Windows 8上面临同样的问题
我已将'%APPDATA%\ npm'添加到pathvariables中。 它一直工作正常。
有时候NPM安装会破坏基本的Windowspath。 我通常有一个我自己版本的PATH副本分开维护。 每周或在一些安装我手动configuration和更新%PATH%variables。
基本上Grunt.cmd不能通过%PATH%variables。
 我在Windows 8上遇到了问题,在安装grunt-cli之后,我总是会遇到“command not found”,而我试图检查grunt -v或where grunt 。 所以我已经添加到环境PATH这个pathC:\Program Files (x86)\Git\local并从该文件夹中运行grunt.cmd(你需要在这里查看node_modules文件夹)。 重新加载我的terminal后,一切开始工作。 
 同样的事情发生在我身上,这里是解决scheme:你有两个不同版本的Node.JS安装? 也许Nodist? 这意味着您可能安装了两次NPM,将命令安装到两个不同的文件夹中:一次进入C:\Users\<user>\AppData\Roaming\npm ,一次进入C:\dev\nodist\bin\bin 。 
  C:\dev\nodist\bin\bin不在我的pathvariables中,所以我添加了它,并且删除了我不想使用的Node.JS版本。 
 如果您没有使用npm创build的grunt.cmd文件,请确保您的主目录中没有包含bin-links=false .npmrc文件。 
赶紧跑:
 npm install -g grunt-cli