Create a gist now

Instantly share code, notes, and snippets.

What would you like to do?
getting grunt to work on windows with cygwin and git

Getting grunt to work with Cygwin and git on Windows is a bit difficult considering the cygwin package that is installed by git has an outdated version of node running on it (at least that was the case in Windows XP). There are several issues to work through:

  1. Cygwin by default installs an old version of node, this was only the case in my Windows XP machine.
  2. Open Cygwin shell
  3. which node tells you where the executable is
  4. node --version tells you if it's old
  5. cd to the directory listed by which node
  6. mv node.exe node.exe.bak
  7. download node from nodejs.org and install it
  8. Node installed through installer MIGHT not update PATH to point to correct version of node installed normally.
  9. on my Windows XP: it was /c/Documents and Settings/mike/Application Data/npm:/c/Program Files/nodejs
  10. on my Windows 7 machine: it was in /c/Users/Mike Sherov/AppData/Roaming/npm:/c/Program Files (x86)/nodejs/
  11. to see current path: echo $PATH
  12. to set path: export PATH="your path here"
  13. i added /c/Documents and Settings/mike/Application Data/npm:/c/Program Files/nodejs: to my path
  14. grunt needs to be installed globally and locally
  15. cd to your jquery top level directory
  16. npm install will install local grunt and grunt-compare-size
  17. npm install -g grunt will install the global grunt that is recognized as in the PATH

that should be it, at least that's what worked for me

@rdworth

This comment has been minimized.

Show comment Hide comment
@rdworth

rdworth Apr 25, 2012

What is Cygwin needed for if node is distributed as a Windows binary?

rdworth commented Apr 25, 2012

What is Cygwin needed for if node is distributed as a Windows binary?

@mikesherov

This comment has been minimized.

Show comment Hide comment
@mikesherov

mikesherov Apr 25, 2012

git bash

Owner

mikesherov commented Apr 25, 2012

git bash

@rdworth

This comment has been minimized.

Show comment Hide comment
@rdworth

rdworth Apr 25, 2012

Ah, I think your gist description could provide a bit more context. Grunt works on Windows without Cygwin because it depends only on node, not git or bash.

rdworth commented Apr 25, 2012

Ah, I think your gist description could provide a bit more context. Grunt works on Windows without Cygwin because it depends only on node, not git or bash.

@mikesherov

This comment has been minimized.

Show comment Hide comment
@mikesherov

mikesherov Apr 25, 2012

@rdworth, I've updated it. I provided this gist because several other jquery core guys were having trouble gettings cygwin and grunt and node and git to play nicely together.

Owner

mikesherov commented Apr 25, 2012

@rdworth, I've updated it. I provided this gist because several other jquery core guys were having trouble gettings cygwin and grunt and node and git to play nicely together.

@cowboy

This comment has been minimized.

Show comment Hide comment
@cowboy

cowboy Apr 25, 2012

It might be useful for this to be added to the grunt FAQ.

cowboy commented Apr 25, 2012

It might be useful for this to be added to the grunt FAQ.

@mikesherov

This comment has been minimized.

Show comment Hide comment
@mikesherov

mikesherov Apr 25, 2012

@cowboy, I agree. I want to get some confirmation from other windows people first that this is a real fix and not just some noise, but feel free to use it how you like!

Owner

mikesherov commented Apr 25, 2012

@cowboy, I agree. I want to get some confirmation from other windows people first that this is a real fix and not just some noise, but feel free to use it how you like!

@cowboy

This comment has been minimized.

Show comment Hide comment
@cowboy

cowboy Apr 25, 2012

@mikesherov i saw in your email that you use Windows XP. Node.js doesn't officially support Windows XP, and I've definitely experienced problems with it. I can't remember if they were filesystem or child process based issues, but they were very real and a huge PITA at the time.

Just figured I'd mention it.

cowboy commented Apr 25, 2012

@mikesherov i saw in your email that you use Windows XP. Node.js doesn't officially support Windows XP, and I've definitely experienced problems with it. I can't remember if they were filesystem or child process based issues, but they were very real and a huge PITA at the time.

Just figured I'd mention it.

@rdworth

This comment has been minimized.

Show comment Hide comment
@rdworth

rdworth Apr 25, 2012

fwiw I'm using grunt inside PowerShell in Windows 7 without Cygwin (I use msysgit for git and don't need bash). It also works in regular old Command Prompt, difference being (from PowerShell) that you have to type grunt.cmd instead of grunt

rdworth commented Apr 25, 2012

fwiw I'm using grunt inside PowerShell in Windows 7 without Cygwin (I use msysgit for git and don't need bash). It also works in regular old Command Prompt, difference being (from PowerShell) that you have to type grunt.cmd instead of grunt

@mikesherov

This comment has been minimized.

Show comment Hide comment
@mikesherov

mikesherov Apr 25, 2012

@rdworth, good to know.

Owner

mikesherov commented Apr 25, 2012

@rdworth, good to know.

@rdworth

This comment has been minimized.

Show comment Hide comment
@rdworth

rdworth Apr 26, 2012

As well as I made out with Windows 7, I got tripped up by a child process issue (Error: CreateProcessW: The system cannot find the file specified.) with grunt.utils.spawn("git",...) @cowboy see https://github.com/cowboy/grunt/pull/156

rdworth commented Apr 26, 2012

As well as I made out with Windows 7, I got tripped up by a child process issue (Error: CreateProcessW: The system cannot find the file specified.) with grunt.utils.spawn("git",...) @cowboy see https://github.com/cowboy/grunt/pull/156

@mikesherov

This comment has been minimized.

Show comment Hide comment
@mikesherov

mikesherov Apr 26, 2012

@rdworth, good find.

Owner

mikesherov commented Apr 26, 2012

@rdworth, good find.

@dmethvin

This comment has been minimized.

Show comment Hide comment
@dmethvin

dmethvin May 6, 2012

The whole grunt.cmd vs grunt and npm.cmd vs npm is a bit grating ... @rdworth are you relatively happy using PowerShell? I like working in cygwin/bash since it's a "real" shell. I suppose I could alias them.

dmethvin commented May 6, 2012

The whole grunt.cmd vs grunt and npm.cmd vs npm is a bit grating ... @rdworth are you relatively happy using PowerShell? I like working in cygwin/bash since it's a "real" shell. I suppose I could alias them.

@cowboy

This comment has been minimized.

Show comment Hide comment
@cowboy

cowboy May 6, 2012

@dmethvin that should no longer be an issue in grunt 0.4.0 when the gruntfile is renamed to Gruntfile.js from grunt.js, but in the meantime, check out the FAQ.

cowboy commented May 6, 2012

@dmethvin that should no longer be an issue in grunt 0.4.0 when the gruntfile is renamed to Gruntfile.js from grunt.js, but in the meantime, check out the FAQ.

@cowboy

This comment has been minimized.

Show comment Hide comment
@cowboy

cowboy May 6, 2012

(at least, I think)

cowboy commented May 6, 2012

(at least, I think)

This comment has been minimized.

Show comment Hide comment
@ghost

ghost Mar 16, 2013

Nodejs supports Windows now officially, forget Cygwin.

ghost commented Mar 16, 2013

Nodejs supports Windows now officially, forget Cygwin.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment