2012-04-10 38 views
7

Tôi nhận thấy "Running PhantomJS on Heroku" là một câu hỏi có liên quan nhưng hơi khác khi tôi đang cố gắng sử dụng ứng dụng nút.Triển khai phantomJS sang ứng dụng node.js?

Tôi gặp sự cố khi triển khai tập lệnh casperJS (dựa trên phantomJS) cho ứng dụng nút. Tôi đã cố gắng triển khai để Heroku bằng cách đặt PhantomJS nhị phân 64-bit trong thư mục /bin ứng dụng của tôi, nhưng tôi nhận được lỗi sau khi tôi cố gắng chạy PhantomJS:

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

Từ những gì tôi đã đọc điều này có thể giải quyết bằng cách cài đặt thư viện QtWebKit, nhưng Heroku không có cài đặt này. Có một nhà cung cấp hosting khác mà tôi có thể sử dụng sẽ hoạt động hoặc cách cài đặt gói này trên Heroku không?

đang liên quan:

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

Tôi đã đăng ký thử nghiệm beta trên Nodester nhưng tài liệu của họ vẫn còn khá hạn chế vào thời điểm này.

EDIT: Tôi có thể làm cho nó hoạt động đơn giản bằng cách sao chép thư mục lib của PhantomJS vào thư mục gốc của ứng dụng nút của tôi.

Trả lời

3

Sao chép thư mục lib của phantomj vào thư mục gốc của ứng dụng nút của bạn Bạn cũng có thể thử đặt liên kết sym vào bin hoặc sbin Điều quan trọng là phải chạy từ thiết bị đầu cuối sử dụng cùng một tài khoản mà nút chạy trên . Ngoài ra, nút-phantom là một thư viện npm tốt để sử dụng phantomjs, một khi bạn làm cho nó hoạt động.

Các vấn đề liên quan