Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How add commands to cygwin - npm

I use cygwin on windows 8.1 to have an Unix shell. But I cannot run commands such as npm from it.

What should I do to do it? Add some kind of env var to cygwin? Why it doesn't use windows PATH?

Edit: Actually I think that I misunderstood the problem here. It looks like npm is found by cygwin but it cannot be used. For instance I can use git from cygwin without any trouble.

$ npm
/cygdrive/d/Logiciels installés/nodejs/npm: line 2: $'\r' : command not found
/cygdrive/d/Logiciels installés/nodejs/npm: line 4: $'\r' : command not found
/cygdrive/d/Logiciels installés/nodejs/npm: line 5: Syntax error around « $'in\r' »
'cygdrive/d/Logiciels installés/nodejs/npm: line 5: `case `uname` in

So, it looks actually more like a npm issue.

like image 766
Vadorequest Avatar asked Jan 18 '14 16:01

Vadorequest


3 Answers

This seems to be a problem with the npm script as mentioned here, https://github.com/joyent/node/issues/5912

Assuming you have installed nodejs in the default location you can run the following dos2unix command and fix the error.

dos2unix c:/Program\ Files/nodejs/npm

This fixed my problems with the npm script.

like image 60
Tharaka Avatar answered Nov 04 '22 20:11

Tharaka


How to make cygwin work with npm command

  1. install http://nodejs.org/#download
  2. download http://nodejs.org/dist/npm/
  3. extract npm.zip into node.exe
  4. run cygwin terminal again

That is it!

like image 36
Piseth Sok Avatar answered Nov 04 '22 21:11

Piseth Sok


In order to fix the npm script to work even with dos encoding, i submitted a patch.

like image 1
Karsten Tinnefeld Avatar answered Nov 04 '22 21:11

Karsten Tinnefeld