在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命令提示符并打开一个新的?

  1. closures所有命令提示符实例。
  2. 启动一个新的命令提示符实例。
  3. input PATH input并validationC:\Users\Username\AppData\Roaming\npm是否为path的一部分。
  4. 如果不是,则需要重新注销
    或closures命令提示符并重新启动explorer进程。
  5. 在命令提示符下,inputwhere grunt Enter
    如果它报告:

     C:\Users\Username\AppData\Roaming\npm\grunt C:\Users\Username\AppData\Roaming\npm\grunt.cmd 
  6. 否则,你必须重新安装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 -vwhere 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 
Interesting Posts