Windows 8 上的咕噜声:无法识别'grunt'



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

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

其他解决方案指向 PATH 系统环境变量,但这似乎是我所期望的:

C:\Users[用户名]\AppData\Roamingpm

完成所有这些操作后,我仍然在CLI中收到"'咕噜咕噜'未被识别为内部或外部命令,可操作程序或批处理文件"错误消息。我尝试了以下方法,每次尝试后都卸载所有内容:

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

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

我在几台不同的 Windows 8 机器上没有遇到任何问题。

如果打开文件夹:C:Users[username]AppDataRoamingnpm

此文件夹中是否有名为 grunt.cmd 的文件?

如果没有,我可能会再次尝试npm install -g grunt-cli,也许是从提升的命令提示符。

如果存在这种情况,并且您在 PATH 环境变量中具有C:Users[username]AppDataRoamingnpm,那么从命令提示符键入 grunt 应该可以。

愚蠢的问题,您是否尝试过关闭命令提示符并打开一个新命令提示符?

确认您的PATH正确(并且没有搞砸(。只需从命令提示符下键入PATH即可。鉴于您描述的错误和您采取的步骤,实际上没有其他解释是有意义的。

通常,如果正确安装npm并且已正确添加到系统路径中,则使用 where grunt 命令会在路径中找到grunt.cmd

  1. 关闭所有命令提示符实例。
  2. 启动新的命令提示符实例。
  3. 键入PATH输入并验证C:UsersUsernameAppDataRoamingnpm是否为路径的一部分。
  4. 如果没有,您需要注销并重新打开
    或关闭命令提示符并重新启动explorer进程。
  5. 在命令提示符下,键入where grunt输入.
    如果它报告以下内容,那就太好了:

    C:UsersUsernameAppDataRoamingnpmgrunt
    C:UsersUsernameAppDataRoamingnpmgrunt.cmd
    
  6. 否则,如果 grunt-cli 包报告:

    INFO: Could not find files for the given pattern(s).
    

显然,更改PATH环境变量的程序必须广播WM_SETTINGCHANGE消息。当您更改PATH变量时,Windows 的系统设置窗口会正确执行此操作,但 NPM 安装程序不会。这就是为什么您必须重新启动资源管理器(或注销或重新启动,具有相同的效果(。

我知道

这已经得到了回答,但我想我会为 Windows 8 提供我的分步解决方案。

我检查的第一件事是笔记本电脑环境变量中的路径(右键单击我的计算机>属性>高级系统设置>环境变量(

没有在那里列出,所以我在用户变量中添加了一个新变量(所以它只特定于我的用户帐户(

在新用户变量提示中,我输入了以下内容;

Variable Name: PATH
Variable Value: %USERPROFILE%AppDataRoamingnpm

退出命令提示符,重新调用,导航到我的项目目录并尝试再次运行grunt然后...成功!

我遇到了同样的问题。

我尝试了不同的事情:

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

npm install -g grunt -cli

没用。

终于试过了:

npm install -g grunt-cli

工作完美。

哪里咕噜咕噜

我看到了发现它的 2 个位置。

我在Windows 8上遇到了同样的问题

我已将" %APPDATA%pm "添加到路径变量中。它一直工作正常。

有时 NPM 安装会损坏基本的 Windows 路径。 我通常有一个我自己的 PATH 版本的副本单独维护。 每周或在某些安装中,我都会手动配置和更新 %PATH% 变量。

基本上Grunt.cmd不能通过%PATH%变量使用。

我在

Windows 8 上遇到了问题,安装 grunt-cli 后,当我尝试检查grunt -vwhere grunt时,我总是得到"找不到命令"。所以我在环境 PATH 中添加了这条路径C:Program Files (x86)Gitlocal并从该文件夹运行 grunt.cmd(您需要在此处查看node_modules文件夹(。重新加载我的终端后,一切开始工作。

同样的事情也发生在我身上,这是解决方案:您是否安装了 2 个不同版本的 Node.JS?也许诺迪斯特?这意味着您可能安装了两次 NPM,这会将命令安装到 2 个不同的文件夹中:一次进入C:Users<user>AppDataRoamingnpm,一次进入C:devnodistbinbin.

C:devnodistbinbin不在我的路径变量上,所以我添加了它,并删除了我不想使用的 Node.JS 版本。

如果你没有npm创建的grunt.cmd文件,请确保你的主目录中没有.npmrc,里面有:bin-links=false

在收到一吨"'grunt'未被识别为内部或外部命令"错误后,我在 Windows 10 上通过转到路径并添加 C:\Users\Username\AppData\Roamingpm 解决了这个问题

最新更新