treeno
treeno

Reputation: 2600

CoffeeScript and Cake Error

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

Answers (3)

Yu Kato
Yu Kato

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

treeno
treeno

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

jcollum
jcollum

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

Related Questions