2015-10-05 2 views
0

Я пытаюсь использовать phantomjs в стеке MEAN для генерации отчетов, но после установки фантомных двоичных файлов на моем ubuntu os сервере и использования phantom node_module + rasterize.js появляется ниже ошибки.PhantomJS throws error (rasterize.js)

Error: Cannot find module 'events' 

phantomjs://bootstrap.js:254 in require 
/home/kb/code/backend/backend/api_server/node_modules/phantom/node_modules/dnode/node_modules/dnode-protocol/index.js:1 
/home/kb/code/backend/backend/api_server/node_modules/phantom/node_modules/dnode/node_modules/dnode-protocol/index.js:126 
Error: Cannot find module 'stream' 

phantomjs://bootstrap.js:289 
phantomjs://bootstrap.js:254 in require 
/home/kb/code/backend/backend/api_server/node_modules/phantom/node_modules/dnode/lib/dnode.js:2 
/home/kb/code/backend/backend/api_server/node_modules/phantom/node_modules/dnode/lib/dnode.js:154 
Error: Cannot find module 'net' 

phantomjs://bootstrap.js:289 
phantomjs://bootstrap.js:254 in require 
/home/kb/code/backend/backend/api_server/node_modules/phantom/node_modules/dnode/index.js:3 
/home/kb/code/backend/backend/api_server/node_modules/phantom/node_modules/dnode/index.js:138 
Error: Cannot find module 'http' 

phantomjs://bootstrap.js:289 
phantomjs://bootstrap.js:254 in require 
/home/kb/code/backend/backend/api_server/node_modules/phantom/phantom.js:8 
/home/kb/code/backend/backend/api_server/node_modules/phantom/phantom.js:193 
/home/kb/code/backend/backend/api_server/node_modules/phantom/phantom.js:194 
TypeError: 'undefined' is not a function (evaluating 'phantom.createWebPage()') 

:/modules/webpage.js:905 
report.js:7 

Это мой тестовый код.

var phantom = require('phantom'); 

phantom.create(function (ph) { 
    ph.createPage(function (page) { 
    page.open("http://www.google.com", function (status) { 
     console.log("opened google? ", status); 
     page.evaluate(function() { return document.title; }, function (result) { 
     console.log('Page title is ' + result); 
     ph.exit(); 
     }); 
    }); 
    }); 
}); 
+0

Вы запускаете 'npm install' с потоком, сетью, http-модулем? –

+0

Я уже использую http-модуль в файле server.js – Robus

ответ

1

Try команда запуска: npm install -g events stream net http

Однако, я думаю, что вы сделали неправильный способ установки Узла проекта. Например, если для создания проекта требуется PhantomJS. Вы должны сделать следующие шаги:

# create project directory 
mkdir myproject 
cd myproject 

# install phantomjs for your project 
npm install --save phantomjs 

# create your project file 
+0

в конечном итоге ~ это то, что решило проблему. НПМ установить фантом --save используя от терминала, узел [имя файла] Похоже, что phantomjs бинарники не имеет доступа к узлу и его модулей для запуска файлов. – Robus