对于某些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