在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
PATH
input并validationC:\Users\Username\AppData\Roaming\npm
是否为path的一部分。 - 如果不是,则需要重新注销 ,
或closures命令提示符并重新启动explorer
进程。 -
在命令提示符下,input
where grunt
Enter 。
如果它报告: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
消息。 当您更改PATH
variables时,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