我在Windows 8计算机上从命令行运行Grunt时遇到问题。
我的研究表明,最常见的解决方案是安装grunt-cli,因为Grunt不再是全球性的。我还需要确保我实际安装了Grunt任务运行器,因为它没有安装grunt-cli。
其他解决方案指向PATH系统环境变量,但这看起来像我期望的那样:
C:\用户[用户名] \应用程序数据\漫游\ NPM
完成所有这些后,我仍然在CLI中将“'grunt'识别为内部或外部命令,可操作程序或批处理文件”错误消息。我尝试过以下方法,每次尝试后卸载所有内容:
我错过了一些明显的东西吗?
答案 0 :(得分:61)
我在几台不同的Windows 8机器上没有遇到任何问题。
如果您打开文件夹:C:\Users\[username]\AppData\Roaming\npm
您是否在此文件夹中有一个名为grunt.cmd
的文件?
如果不是,我可能会再次尝试npm install -g grunt-cli
,也许是从提升的命令提示符开始。
如果存在并且PATH环境变量中有C:\Users\[username]\AppData\Roaming\npm
,那么从命令提示符输入grunt应该有效。
愚蠢的问题,您是否尝试关闭命令提示符并打开一个新命令?
答案 1 :(得分:37)
确认您的PATH
是正确的(并且没有搞砸)。只需在命令提示符下键入PATH
即可。鉴于您所描述的错误以及您采取的步骤,实际上没有其他解释可行。
通常情况下,如果where grunt
安装正确并且已正确添加到系统路径中,则使用grunt.cmd
命令会在路径中找到npm
。
答案 2 :(得分:16)
PATH
输入并验证C:\Users\Username\AppData\Roaming\npm
是否属于路径。explorer
进程。在命令提示符中,键入where grunt
输入。
如果它报告你很好:
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
环境变量的程序必须广播WM_SETTINGCHANGE
消息。更改PATH
变量时,Windows“系统设置窗口会正确执行,但NPM安装程序不会。这就是你必须重新启动资源管理器(或注销或重新启动,具有相同效果)的原因。
答案 3 :(得分:5)
我遇到了同样的问题。
我尝试了不同的东西:
npm install -g grunt -cli
没用。
最后尝试过:
npm install -g grunt-cli
工作得很好。
尝试
grunt
我看到了2个位置。
答案 4 :(得分:5)
我知道这已经得到了解答,但我想我会为Windows 8提供一步一步的解决方案。
我检查的第一件事是我的笔记本电脑中的PATH环境变量(右击我的电脑>属性>高级系统设置>环境变量)
它没有列在那里所以我在用户变量中添加了一个新变量(所以它只针对我的用户帐户)
在新的用户变量提示中,我输入了以下内容;
Variable Name: PATH
Variable Value: %USERPROFILE%\AppData\Roaming\npm
退出命令提示符,重新启动,导航到我的项目目录并尝试再次运行grunt
并成功完成!
答案 5 :(得分:4)
我在Windows 8上遇到了同样的问题
我已将'%APPDATA%\ npm'添加到路径变量中。它一直很好。
答案 6 :(得分:1)
有时NPM安装会破坏基本的Windows路径。我通常会将自己版本的PATH副本单独保存。每周或在某些安装中我手动配置和更新%PATH%变量。
基本上Grunt.cmd不能通过%PATH%变量。
答案 7 :(得分:1)
我在Windows 8上遇到了问题,在安装grunt-cli之后我总是得到"命令未找到"我试图检查grunt -v
或where grunt
。所以我已经将环境C:\Program Files (x86)\Git\local
添加到环境路径中并从该文件夹运行grunt.cmd(您需要在此处查看node_modules文件夹)。重新加载终端后,一切都开始工作了。
答案 8 :(得分:1)
同样的事发生在我身上,这是解决方案:
您是否安装了2个不同版本的Node.JS?
也许Nodist?
这意味着您可能已经安装了两次NPM,这将把命令安装到2个不同的文件夹中:
进入C:\Users\<user>\AppData\Roaming\npm
后进入C:\dev\nodist\bin\bin
。
C:\dev\nodist\bin\bin
在我的路径变量上没有,所以我添加了它,并删除了我不想使用的Node.JS版本。
答案 9 :(得分:0)
如果您没有由npm创建的grunt.cmd文件,请确保您的主目录中没有 .npmrc ,其中包含:bin-links=false
。
答案 10 :(得分:0)
在收到一吨“'grunt'不被识别为内部或外部命令”错误之后,我在Windows 10上解决了此问题,方法是转到Path并添加C:\ Users \ Username \ AppData \ Roaming \ npm < / p>