dotCloud上的依赖关系问题

时间:2012-10-16 09:36:15

标签: node.js canvas dotcloud

我在dotCloud上部署关于依赖项的nodejs应用程序时遇到了问题。此应用程序使用node-canvas(https://github.com/LearnBoost/node-canvas)生成乐谱的缩略图(与jellynote.com上提供的乐谱相关)。

在推送应用程序和安装依赖项期间,我没有任何错误。这是我的package.json文件:

{
  "name": "jellyscore",
  "version": "1.0.0",
  "dependencies": {
    "canvas": "",
    "mongodb": ""
  }
}

这里是dotCloud返回的日志(编辑日志):

node.js:134
        throw e; // process.nextTick error, or 'error' event on first tick
        ^
Error: Cannot find module '../build/default/canvas'
    at Function._resolveFilename (module.js:326:11)
    at Function._load (module.js:271:25)
    at require (module.js:355:19)
    at Object.<anonymous> (/home/dotcloud/node_modules/canvas/lib/bindings.js:7:20)
    at Module._compile (module.js:411:26)
    at Object..js (module.js:417:10)
    at Module.load (module.js:343:31)
    at Function._load (module.js:302:12)
    at require (module.js:355:19)
    at Object.<anonymous> (/home/dotcloud/node_modules/canvas/lib/canvas.js:12:14)

谢谢!

1 个答案:

答案 0 :(得分:3)

您是否已将CAIRO添加为系统依赖项?

你的dotCloud yml:

systempackages:
    - libcairo2

因此,如果您只有一个Node.js应用程序,它应该如下所示:

www:
    type: nodejs
    systempackages:
       - libcairo2