Patan
Patan

Reputation: 17873

'grunt' is not recognized as an internal or external command for some windows users

Grunt is not working for all Windows users. Some users are facing some issues, when I run npm install command; it prints a message as below.

E:\Worksapce\web>npm install
npm WARN package.json [email protected] No repository field.

When I tried npm install -g grunt-cli, I think it is successful.

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
[email protected] C:\Users\user1234\AppData\Roaming\npm\node_modules\grunt-cli
+-- [email protected]
+-- [email protected] ([email protected])
+-- [email protected] ([email protected], [email protected])

But when I run grunt, I get an error message like this:

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

My package.json is this.

{
  "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"
  }
}

Another user is succesfully able to execute grunt with out any issues. This only stands for some of the users.

Can some one tell me what has gone wrong.

Upvotes: 50

Views: 86725

Answers (6)

Sathish Kumar M
Sathish Kumar M

Reputation: 21

npm install grunt -g (or) npm install -g grunt-cli Please check your computer environmental variable path, it should contain the path of AppData. EX: E:\$APPDATA\npm\;

MyComputer->Right click-> Properties ->Advances System Setting-> Environment Variables -> Path

Upvotes: 2

Matthew Bakaitis
Matthew Bakaitis

Reputation: 11970

Your logs indicate that the grunt command was created in your global directory. The errors also indicate that C:\Users\mc862634\AppData\Roaming\npm\ is not in your path.

You'll want to check your PATH and make sure that the \AppData\Roaming\npm location is added if it is missing.

The easiest way to check is to open a command prompt and type PATH.

See this other StackOverflow question as a reference: Grunt on Windows 8: 'grunt' is not recognized

Upvotes: 22

isapir
isapir

Reputation: 23493

Grunt-CLI is installed inside %AppData%\npm, so the best directory to add to your %PATH% is:

%AppData%\npm

Upvotes: 4

Aditi
Aditi

Reputation: 986

Grunt is no longer installed globally. See the Getting Started page for more information.

The command below should help you fix this;

npm install -g grunt-cli

Upvotes: 93

Chris Halcrow
Chris Halcrow

Reputation: 31950

On Windows 8, Grunt needs to have the following added to the PATH:

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

On some systems, the number of characters allowable in the PATH is limited, and this can cause the correct path needed by grunt to not be added, even after npm install -g grunt-cli is run. Some settings (for example for certain programs you have installed) can be safely removed from the PATH, as they're generally there as a failsafe and often aren't required. If you have this issue:

  • Backup the variables in your PATH (This PC > right-click > Properties > Advanced system settings > Environment Variables > 'Edit' the 'Path' user variables for the current user, and copy the 'Variable value' and save it somewhere)
  • Remove some of the values from the PATH, and add in the path C:\Users\your_username\AppData\Roaming\npm

Also, make sure that after installing the Grunt CLI and adding the path, that you close any open command windows and re-open them before trying a Grunt

Upvotes: 18

jovenb
jovenb

Reputation: 120

Incase that there some developer that used Windows XP, that have similar problem you'll need to change Path entry.

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

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

Upvotes: 1

Related Questions