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.