【问题标题】:CoffeeScript and Cake ErrorCoffeeScript 和 Cake 错误
【发布时间】:2013-10-09 09:59:23
【问题描述】:

我尝试从http://arcturo.github.io/library/coffeescript/05_compiling.html 获取蛋糕示例以运行。但这会导致一个奇怪的错误:

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)

这是我的 Cakefile(刚刚从“关于 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()

我使用的是 Coffee 1.6.3 和节点 0.10.20。

有谁知道我做错了什么? 谢谢!

【问题讨论】:

  • 第 72 行的 events.js 中有什么内容?只是出于好奇。
  • 我没有找到在我的系统上使用的源。如果我下载源代码,我只会在第 72 行找到一条评论;-)

标签: coffeescript


【解决方案1】:

ENOENT 通常表示“我正在寻找您让我找到的东西,但我没有找到它”。从示例页面:

For example, create a file called Cakefile, and two directories, lib and src.

这两个都有吗?

【讨论】:

  • 谢谢,很接近,谢谢。 coffee.cmd 是 spawn 缺少的,因为据我了解,spawn 只能启动二进制文件。
【解决方案2】:

我找到了对这里发生的事情的解释:

Using nodejs's spawn causes "unknown option -- " and "[Error: spawn ENOENT]" errors

解决方案是使用 exec 而不是 spawn

【讨论】:

    【解决方案3】:

    在 Windows 上,spawn 不处理没有文件扩展名的“.cmd”或“.bat”。

    替换

    coffee = spawn 'coffee', ['-c', '-o', 'lib', 'src']
    

    coffee = spwan 'coffee.cmd', ['-c','-o','lib','src']
    

    【讨论】:

      猜你喜欢
      • 2011-08-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-21
      • 1970-01-01
      • 2012-07-24
      • 1970-01-01
      相关资源
      最近更新 更多