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

Dan*_*eld 56 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命令提示符

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

Rik*_*igh 63

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

如果您打开文件夹: C:\Users\[username]\AppData\Roaming\npm

你有grunt.cmd这个文件夹中的文件吗?

如果不是,我可能会npm install -g grunt-cli再次尝试,可能是从提升的命令提示符.

如果存在,并且您C:\Users\[username]\AppData\Roaming\npm在PATH环境变量中,则从命令提示符输入grunt应该有效.

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

  • 如果您在C:\ Users\[用户名]\AppData\Roaming \npm打开命令提示符然后运行grunt它是否有效? (2认同)

Wir*_*rie 37

确认你的PATH是正确的(并没有弄乱).只需PATH在命令提示符下键入即可.鉴于您所描述的错误以及您采取的步骤,实际上没有其他解释可行.

通常情况下,如果已正确安装并且已将其正确添加到系统路径中,则会在路径中where grunt找到该命令.grunt.cmdnpm

  • 实际上它不是被搞砸的PATH,而是它安装的位置.Nodejs将自己安装在C:\ Program Files \nodejs中,但是在C:\ Users\Username\AppData\Roaming \npm中安装所有模块 (10认同)
  • 用于Windows的当前NodeJS 64位版本在安装时搞砸了PATH.我卸载了64位版本并安装了x86版本,现在一切都按预期工作. (2认同)
  • `C:\ Users\Username\AppData\Roaming \npm`再次从PATH !!! 并且在我再次添加它后,我添加了它像`\ C:\ Users\Username\AppData\Roaming \npm`,在开始时带有额外的斜杠 (2认同)
  • 我的PATH变量已经超过了最大长度,所以npm路径已经被某些东西删除了.使用快速环境编辑器缩短了一些路径,一切都很好! (2认同)

Dan*_*ker 16

  1. 关闭所有命令提示符实例.
  2. 启动一个新的命令提示符实例.
  3. 输入PATH Enter并验证if是否C:\Users\Username\AppData\Roaming\npm是路径的一部分.
  4. 如果没有,则需要再次注销,
    或关闭命令提示符并重新启动该explorer过程.
  5. 在命令提示符中,键入where grunt Enter.
    如果它报告你很好:

    C:\Users\Username\AppData\Roaming\npm\grunt
    C:\Users\Username\AppData\Roaming\npm\grunt.cmd
    
    Run Code Online (Sandbox Code Playgroud)
  6. 否则,grunt-cli如果报告包含,则必须重新安装包:

    INFO: Could not find files for the given pattern(s).
    
    Run Code Online (Sandbox Code Playgroud)

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


Tom*_*ard 6

我知道这已经得到了解答,但我想我会为Windows 8提供一步一步的解决方案.

我检查的第一件事是我的笔记本电脑中的PATH环境变量(右击我的电脑>属性>高级系统设置>环境变量)

它没有列在那里,所以我在用户变量中添加了一个新变量(所以它只针对我的用户帐户)

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

Variable Name: PATH

Variable Value: %USERPROFILE%\AppData\Roaming\npm
Run Code Online (Sandbox Code Playgroud)

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


jsi*_*ary 5

我遇到过同样的问题.

我尝试了不同的东西:

  • 重启电脑
  • 删除了grunt文件夹并运行

npm install -g grunt -cli

没工作.

最后尝试过:

npm install -g grunt-cli

工作得很完美.

试着

咕噜咕噜的

我看到了它找到的2个地点.

  • 由于空格键上有一个额外的水龙头,我失去了一小时的生命.如果可以的话,我会再次投票. (3认同)