2012-04-10 32 views
7

Zdaję sobie sprawę, że "Running PhantomJS on Heroku" jest pokrewnym, ale nieco innym pytaniem, ponieważ próbuję użyć aplikacji węzła.Wdróż phantomJS w aplikację node.js?

Mam problem z wdrożeniem skryptu casperJS (w oparciu o phantomJS) dla aplikacji węzła. Próbowałem wdrażania do Heroku umieszczając PhantomJS 64-bitowy binarny w mojej aplikacji /bin katalogu, ale pojawia się następujący komunikat o błędzie podczas próby uruchomienia PhantomJS:

phantomjs: error while loading shared libraries: libQtWebKit.so.4: cannot open shared object file: No such file or directory 

Z tego co czytałem to może być rozwiązany przez zainstalowanie biblioteki QtWebKit, ale Heroku nie ma tego zainstalowanego. Czy istnieje inny dostawca usług hostingowych, z którego mógłbym skorzystać, który będzie działał lub sposób zainstalowania tego pakietu na Heroku?

odpowiedni kod:

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); 
    } 
    }); 
}); 

ja zapisaliśmy się do beta-testów na Nodester ale ich dokumentacja jest wciąż dość ograniczone w tym momencie.

EDYCJA: Udało mi się uruchomić go po prostu kopiując folder lib PhantomJS do katalogu głównego aplikacji mojego węzła.

Odpowiedz

3

Skopiuj lib folder phantomjs do głównego katalogu aplikacji węzła Można również spróbować umieścić link sym w kosza lub sbin Kluczem jest to, że musi biec od terminala za pomocą tego samego konta że węzeł działa na . Również węzeł-phantom jest dobrą biblioteką npm do korzystania z phantomjs, gdy już ją uruchomisz.

Powiązane problemy