"Running PhantomJS on Heroku"は、ノードアプリケーションを使用しようとしているのとはちょっと違う質問です。phantomJSをnode.jsアプリにデプロイしますか?
ノードアプリケーション用のcasperJS(phantomJSベース)スクリプトのデプロイに問題があります。私は私のアプリの/bin
ディレクトリにPhantomJS 64ビットのバイナリを置くことによって、Herokuのにデプロイしようとしましたが、私はPhantomJSを実行しようとすると、私は次のエラーを取得する:
phantomjs: error while loading shared libraries: libQtWebKit.so.4: cannot open shared object file: No such file or directory
私はこれを読んだことに由来することができますQtWebKitライブラリをインストールすることで解決できますが、Herokuにはこれがインストールされていません。 Herokuにこのパッケージをインストールする方法や、それが使える他のホスティングプロバイダがありますか?
関連するコード:
app.get('/', function(request, response) {
var sys = require('sys')
var exec = require('child_process').exec;
var child;
//works but gives error while loading shared library libqtwebkit.so.4
child = exec("phantomjs --version | tr -d '\n'", function(error, stdout, stderr) {
sys.print('stdout: ' + stdout);
sys.print('stderr: ' + stderr + '\n');
response.header('Content-Type', 'application/json');
response.send('_testcb(stdout:' + stdout + '\nstderr:' + stderr + ')', 200);
if(error !== null) {
console.log('exec error: ' + error);
}
});
});
私はNodesterのベータテストのためにサインアップしてきましたが、そのドキュメントは、この時点ではまだかなり限られています。
EDIT:PhantomJSのlibフォルダを私のノードアプリケーションのルートディレクトリにコピーするだけで動作させることができました。あなたはまた、キーはそのノードが稼働するのと同じアカウントを使用して、端末から実行する必要がありますされているビンまたはsbinに でSYMのリンクを入れてみてください、あなたのノードアプリ のルートディレクトリに