2012-10-16 123 views
0

在dotCloud上關於依賴關係部署我的nodejs應用程序時遇到問題。此應用程序使用node-canvas(https://github.com/LearnBoost/node-canvas)生成樂譜的縮略圖(與jellynote.com上提供的音樂樂譜相關)。dotCloud上的依賴關係問題

在推送我的應用程序和安裝依賴關係期間,我沒有任何錯誤。這裏是我的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

它看起來像你缺少你的一些日誌,可以您發佈完整的錯誤消息?要查看完整日誌,您可以'dotcloud ssh ,然後轉到/ var/log/supervisor /並查看那裏的日誌,並找到具有最佳信息的日誌。 jellyscore-stderr --- supervisor-DLBeK_.log是一個很好的開始,但是你可能在不同的日誌文件中有更好的信息。 –

+0

我編輯了主要問題中的日誌,謝謝:) – arthur

回答

3

您是否將CAIRO添加爲系統依賴項?

在你dotCloud陽明:

systempackages: 
    - libcairo2 

所以,如果你有一個Node.js的唯一的應用程序應該是這樣的:

www: 
    type: nodejs 
    systempackages: 
     - libcairo2 
+0

好的。看起來像libjpeg8-dev,libpango1.0-dev和libgif-dev也是必需的 –

+0

謝謝!它適用於heroku的分支(https://github.com/elspoono/node-canvas-heroku/) – arthur