'咕噜'对于某些Windows用户,不会将其识别为内部或外部命令

时间:2014-08-18 14:10:15

标签: javascript node.js gruntjs

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,没有任何问题。这仅代表一些用户。

有人可以告诉我出了什么问题。

6 个答案:

答案 0 :(得分:59)

Grunt不再全球安装。有关详细信息,请参阅Getting Started页面。

以下命令可以帮助您解决此问题;

npm install -g grunt-cli

答案 1 :(得分:17)

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

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

最简单的检查方法是打开命令提示符并键入{{1}}。

请参阅此其他StackOverflow问题作为参考:Grunt on Windows 8: 'grunt' is not recognized

答案 2 :(得分:14)

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

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

在某些系统上,PATH中允许的字符数是有限的,即使运行npm install -g grunt-cli,这也可能导致grunt不需要添加正确的路径。某些设置(例如,对于您已安装的某些程序)可以安全地从PATH中删除,因为它们通常作为故障保护并且通常不是必需的。如果您有这个问题:

  • 备份PATH中的变量(此PC>右键单击>属性>高级系统设置>环境变量>'编辑'路径&# 39;当前用户的用户变量,并复制'变量值'并将其保存在某处)
  • PATH中删除部分值,并添加路径C:\Users\your_username\AppData\Roaming\npm

此外,请确保在安装Grunt CLI并添加路径后,关闭所有打开的命令窗口并重新打开它们,然后再尝试Grunt

答案 3 :(得分:2)

Grunt-CLI安装在%AppData%\ npm中,因此要添加到%PATH%的最佳目录是:

%AppData%\npm

答案 4 :(得分:1)

如果有一些使用Windows XP的开发人员遇到类似的问题,您需要更改路径条目。

发件人: C:\ Users \用户change_username \应用程序数据\漫游\ NPM \咕噜

: C:\ Documents and Settings \ change_username \ Application Data \ npm

答案 5 :(得分:0)

npm install grunt -g(或)npm install -g grunt-cli 请检查您的计算机环境变量路径,它应包含AppData的路径。 EX:E:\ $ APPDATA \ npm \;

MyComputer->右击 - >属性 - >进展系统设置 - >环境变量 - >路径