对于某些Windows用户,“grunt”不被识别为内部或外部命令

Grunt不适用于所有Windows用户。 有些用户在运行npm install命令时遇到了一些问题, 它打印一条消息如下。

 E:\Worksapce\web>npm install npm WARN package.json registers@4.0.0 No repository field. 

当我尝试npm install -g grunt-cli ,我认为它是成功的。

 E:\Worksapce\web>npm install -g grunt-cli npm http GET http://registry.npmjs.org/grunt-cli npm http 304 http://registry.npmjs.org/grunt-cli npm http GET http://registry.npmjs.org/nopt npm http GET http://registry.npmjs.org/findup-sync npm http GET http://registry.npmjs.org/resolve npm http 304 http://registry.npmjs.org/nopt npm http 304 http://registry.npmjs.org/resolve npm http 304 http://registry.npmjs.org/findup-sync npm http GET http://registry.npmjs.org/abbrev npm http 304 http://registry.npmjs.org/abbrev npm http GET http://registry.npmjs.org/glob npm http GET http://registry.npmjs.org/lodash npm http 304 http://registry.npmjs.org/glob npm http 304 http://registry.npmjs.org/lodash npm http GET http://registry.npmjs.org/inherits npm http GET http://registry.npmjs.org/minimatch npm http 304 http://registry.npmjs.org/minimatch npm http 304 http://registry.npmjs.org/inherits npm http GET http://registry.npmjs.org/lru-cache npm http GET http://registry.npmjs.org/sigmund npm http 304 http://registry.npmjs.org/lru-cache npm http 304 http://registry.npmjs.org/sigmund C:\Users\user1234\AppData\Roaming\npm\grunt -> C:\Users\user1234\AppData\Roaming \npm\node_modules\grunt-cli\bin\grunt grunt-cli@0.1.13 C:\Users\user1234\AppData\Roaming\npm\node_modules\grunt-cli +-- resolve@0.3.1 +-- nopt@1.0.10 (abbrev@1.0.5) +-- findup-sync@0.1.3 (lodash@2.4.1, glob@3.2.11) 

但是当我运行grunt,我得到这样的错误信息:

 E:\Worksapce\web> E:\Worksapce\web>grunt 'grunt' is not recognized as an internal or external command, operable program or batch file. 

我的package.json是这样的。

 { "author": "Company", "name": "registers", "version": "4.0.0", "homepage": "http://abcd.se", "dependencies": {}, "devDependencies": { "grunt": "~0.4.4", "grunt-contrib-jshint": "~0.9.2", "grunt-contrib-watch": "~0.6.1", "grunt-contrib-less": "~0.11.0", "grunt-contrib-clean": "~0.5.0", "grunt-contrib-copy": "~0.5.0", "grunt-contrib-concat": "~0.3.0", "grunt-contrib-uglify": "~0.4.0", "grunt-ngmin": "0.0.3", "grunt-contrib-jasmine": "~0.5.2" } } 

另一个用户可以成功地执行任何问题的咕噜声。 这只代表一些用户。

有人能告诉我出了什么问题吗?

Grunt不再安装在全球。 请参阅入门页面了解更多信息。

下面的命令可以帮助你解决这个问题。

 npm install -g grunt-cli 

您的日志表明grunt命令是在您的全局目录中创build的。 错误还表明C:\Users\mc862634\AppData\Roaming\npm\不在您的path中。

您需要检查您的PATH ,并确保\AppData\Roaming\npm位置在缺失时添加。

最简单的检查方法是打开命令提示符并键入PATH

看到这个其他的StackOverflow问题作为参考: 在Windows 8上的Grunt:不能识别“grunt”

在Windows 8上,Grunt需要将以下内容添加到PATH

 C:\Users\your_username\AppData\Roaming\npm 

在某些系统中,PATH中允许的字符数是有限的,即使在npm install -g grunt-cli之后,这也会导致grunt所需的正确path不被添加。 一些设置(例如对于某些已经安装的程序)可以安全地从PATH中删除,因为它们通常作为故障安全存在,并且通常不是必需的。 如果你有这个问题:

  • 在你的PATH备份variables(这个PC>右击>属性>高级系统设置>环境variables>为当前用户编辑'path'用户variables,复制'variables值'并保存到某个地方)
  • 删除PATH一些值,并添加到pathC:\Users\your_username\AppData\Roaming\npm

另外,确保在安装Grunt CLI并添加path之后,closures所有打开的命令窗口并在尝试使用Grunt之前重新打开它们

Grunt-CLI安装在%AppData%\ npm内,所以添加到%PATH%的最佳目录是:

 %AppData%\npm 

因为有一些使用Windows XP的开发者,有类似的问题,你需要改变path条目。

:C:\ Users \ change_username \ AppData \ Roaming \ npm \ grunt

收件人 :C:\ Documents and Settings \ change_username \ Application Data \ npm

npm install grunt -g(或者)npm install -g grunt-cli请检查你的计算机的环境variablespath,它应该包含AppData的path。 EX:E:\ $ APPDATA \ npm \;

MyComputer->右键 – >属性 – >提前系统设置 – >环境variables – >path