构建Knockout.js时出现致命错误

时间:2013-11-28 00:22:48

标签: node.js ubuntu knockout.js gruntjs npm

在DigitalOcean上运行Ubuntu 13.10 x64的全新实例。每次我尝试使用npm / grunt构建Knockout.js时,都会出现以下错误:

Running "clean" task

Running "checktrailingspaces:main" (checktrailingspaces) task

Running "build:debug" (build) task

Running "build:min" (build) task
Compiling...Fatal error: spawn ENOENT

奇怪的是,致命错误似乎是随机的。它总是这三个中的一个:

Fatal error: spawn ENOENT
Fatal error: spawn EPIPE
Fatal error: spawn ECONNRESET

我可以在Mac OS X上成功构建所有内容,在Linode上构建Ubuntu 13.10 x64,在家用机器上也可以构建Ubuntu 13.10 x64。我在不同的主机上发布了几个Ubuntu 13.10实例,只能在DigitalOcean上重现它。

我认为DigitalOcean的Ubuntu图像有些奇怪,但是我不知道该怎么说。我可能会遗漏一些必备软件包,但我阅读了所有文档,并确保满足Node / npm / grunt的所有要求。

我已联系DigitalOcean并获得了一些很棒的支持。一名员工设法重现我的错误,但没有找到解决方案。

非常感谢任何帮助。

编辑:我的问题已在下面解决,并且绝对没有与DigitalOcean的图片有关。

1 个答案:

答案 0 :(得分:3)

Fatal error: spawn ENOENT表示node.js中的child_process.spawn无法找到您尝试生成的二进制文件。

您可能在OSX计算机上安装了一些依赖项,但在Ubuntu计算机上却没有。

查看您的build任务,了解它正在尝试生成的位置和内容。使用grunt --stack运行grunt应该会有所帮助。