Debugging Node's spawn ENOENT
Just figured out a bug that was really annoying. I was running a shell command from Node, and it was working fine in some cases, but failed for my new test with the cryptic error:
spawn /bin/sh ENOENT
That was it. But of course
/bin/sh exists, so what's going on?
Turns out, this error means something doesn't exist, not
/bin/sh. It turns out that the
cwd I was setting the command to was incorrect, and in fact, didn't exist.
So when this occurs, check to see what variables are undefined when you don't expect them to be.