0

meteor アプリを heroku にデプロイし、CollectionFSを使用して画像ファイルを Amazon S3 にアップロードしました。いくつかの画像をアップロードし、展開のためにサーバーを再起動する必要があるまで、すべてが正常に機能していました。

変換のための私のコード:

transformWrite: function(fileObj, readStream, writeStream) {
    try {
      gm(readStream, fileObj.name()).resize(width, height, opts.resize).interlace(opts.interlace).stream().pipe(writeStream);
    } catch (error) {
      throw new Meteor.Error(error);
    }
  }

しかし、その最初の再起動以来、サーバーを再起動できませんでした。これは私が得ているエラーです。

Error R10 (Boot timeout) -> Web process failed to bind to $PORT within 60 seconds of launch.
Stopping process with SIGKILL
FS.Transform.createWriteStream transform function failed, Error:
Exception in queued task: TypeError: Cannot read property 'resize' of undefined
State changed from starting to crashed
Process exited with status 137

現在、collectionFS のすべてのコードをコメントアウトしたので、サイトを元に戻すことができました。コードはローカルでは正常に動作しますが、heroku のデプロイは失敗し続けます。

4

1 に答える 1

0

あなたの問題のこの鍵はこれです:TypeError: Cannot read property 'resize' of undefined.

あなたのコードで見てください:gm(readStream, fileObj.name()).resize(...)

つまり、は未定義であり、heroku インスタンスにインストールされていないgmと安全に想定できます。graphicsmagick

これを使ってみてください: https://github.com/mcollina/heroku-buildpack-graphicsmagick

于 2015-12-23T22:40:11.467 に答える