0

依存関係に関して、nodejs アプリを dotCloud にデプロイする際に問題が発生しました。このアプリは 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)

ありがとう!

4

1 に答える 1

3

システムの依存関係として CAIRO を追加しましたか?

あなたのdotCloud ymlで:

systempackages:
    - libcairo2

したがって、Node.js のみのアプリがある場合は、次のようになります。

www:
    type: nodejs
    systempackages:
       - libcairo2
于 2012-10-16T19:25:59.440 に答える