Windows 8上的Grunt:'grunt'无法识别

时间:2013-10-02 11:09:40

标签: node.js gruntjs grunt-cli

我在Windows 8计算机上从命令行运行Grunt时遇到问题。

我的研究表明,最常见的解决方案是安装grunt-cli,因为Grunt不再是全球性的。我还需要确保我实际安装了Grunt任务运行器,因为它没有安装grunt-cli。

其他解决方案指向PATH系统环境变量,但这看起来像我期望的那样:

  

C:\用户[用户名] \应用程序数据\漫游\ NPM

完成所有这些后,我仍然在CLI中将“'grunt'识别为内部或外部命令,可操作程序或批处理文件”错误消息。我尝试过以下方法,每次尝试后卸载所有内容:

  • 全局安装grunt-cli(npm install -g grunt-cli),然后在我想要使用它的目录级别grunt(npm install grunt)
  • 与上述相同,但安装顺序颠倒
  • 与上述两者相同,但使用Admin命令提示符

我错过了一些明显的东西吗?

11 个答案:

答案 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)

  1. 关闭所有命令提示符实例。
  2. 启动新的命令提示符实例。
  3. 键入PATH 输入并验证C:\Users\Username\AppData\Roaming\npm是否属于路径。
  4. 如果没有,您需要注销然后重新开启,或者关闭命令提示符并重新启动explorer进程。
  5. 在命令提示符中,键入where grunt 输入
    如果它报告你很好:

    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).
    
  7. 显然,更改PATH环境变量的程序必须广播WM_SETTINGCHANGE消息。更改PATH变量时,Windows“系统设置窗口会正确执行,但NPM安装程序不会。这就是你必须重新启动资源管理器(或注销或重新启动,具有相同效果)的原因。

答案 3 :(得分:5)

我遇到了同样的问题。

我尝试了不同的东西:

  • 重新启动计算机
  • 删除了grunt文件夹并运行
  

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 -vwhere 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>