Reputation: 2600
I try to get the cake example from http://arcturo.github.io/library/coffeescript/05_compiling.html to run. But that leads to a strange error:
events.js:72
throw er; // Unhandled 'error' event
^
Error: spawn ENOENT
at errnoException (child_process.js:980:11)
at Process.ChildProcess._handle.onexit (child_process.js:771:34)
This is my Cakefile (just copied from "Little book on CoffeeSCript")
fs = require 'fs'
{print} = require 'sys'
{spawn} = require 'child_process'
build = (callback) ->
coffee = spawn 'coffee', ['-c', '-o', 'lib', 'src']
coffee.stderr.on 'data', (data) ->
process.stderr.write data.toString()
coffee.stdout.on 'data', (data) ->
print data.toString()
coffee.on 'exit', (code) ->
callback?() if code is 0
task 'build', 'Build lib/ from src/', ->
build()
I'm using Coffee 1.6.3 and node 0.10.20.
Does anyone know what I'm doing wrong? Thanks!
Upvotes: 0
Views: 805
Reputation: 1
On Windows, spawn doesn't handle '.cmd' or '.bat' without file extension.
repalce
coffee = spawn 'coffee', ['-c', '-o', 'lib', 'src']
with
coffee = spwan 'coffee.cmd', ['-c','-o','lib','src']
Upvotes: 0
Reputation: 2600
I've found an explanation for what is happening here:
Using nodejs's spawn causes "unknown option -- " and "[Error: spawn ENOENT]" errors
The solution was to use exec instead of spawn
Upvotes: 0
Reputation: 46589
ENOENT typically means "I looked for the thing you told me to find and I didn't find it". From the example page:
For example, create a file called Cakefile, and two directories, lib and src.
Do you have both of those?
Upvotes: 1