I have no trouble running node.exe from a regular command prompt:
C:\>node --interactive
> console.log("Works fine");
Works fine
But when I try to do the same thing from a Cygwin console, I run into this:
Olli@Olli-MBRr /cygdrive/c
$ node.exe
events.js:72
throw er; // Unhandled 'error' event
^
Error: read ENOTCONN
at errnoException (net.js:900:11)
at Socket._read (net.js:391:21)
at Socket.Readable.read (_stream_readable.js:320:10)
at Socket.read (net.js:293:43)
at new Socket (net.js:185:10)
at process.stdin (node.js:660:19)
at startup (node.js:145:16)
at node.js:901:3
At first I thought it might be because Cygwin has trouble with the path name with a space in it (C:\Program Files\nodejs), but after installing node.js to a directory with no spaces in the path name I was unable to resolve the problem.
I would like to run a Node JS console from Emacs (run from Cygwin) using js-comint, but I ran into this error and have no clue how to resolve it.
It won't work from a cygwin console, but it WILL work in a cygwin shell if you run it from a windows console. Just open a command prompt and run Cygwin.bat to get the shell. Then you can run node.
According to this cygwin's console isn't a real console, it's a pipe in disguise.
I think this is caused by using the win distro in cygwin , since cygwin emulates a *nix environment and node.js for windows looks for the win libraries not the nix ones. In order for node.js to work in cygwin you have to build it yourslef. Also latest versions do no work on cygwin. https://github.com/joyent/node/wiki/Building-node.js-on-Cygwin-(Windows)
Node.js dropped support for Cygwin since long ago. I've tried using some older version, but it now means a lot of problems with npm and basically every other library you can install through the manager.
What I did: wrote a Windows shell script translating paths into Windows-like paths, but it's a really quick and dirty job, so I won't share it yet. Then I symlinked this bat file in /usr/bin and this is how I'm calling it now. Also, I think I'm starting the REPL there immediately, because the Node version that I have doesn't do it on its own by default.
I've tried building it, but the build is very messy. They've used SCons and some other library on top of it, and that library is somehow out of date now (I'm using SCons for other projects, so I didn't try to downgrade it).
Bottom line, if you just need a JavaScript interpreter in Emacs - try Mozrepl, Node.js just doesn't want to play nice with it.