NodeJS проблема с гнездом повешения кукловода - PullRequest
0 голосов
/ 01 октября 2018

У меня проблема с кукловодом - каждый раз, когда я пытаюсь сделать снимок экрана другого веб-сайта, я получаю эту ошибку:

(node:2359) UnhandledPromiseRejectionWarning: Error: socket hang up
at createHangUpError (_http_client.js:313:15)
at Socket.socketOnEnd (_http_client.js:409:23)
at Socket.emit (events.js:187:15)
at endReadableNT (_stream_readable.js:1086:12)
at process._tickCallback (internal/process/next_tick.js:63:19)
(node:2359) UnhandledPromiseRejectionWarning: Unhandled promise 
rejection. This error originated either by throwing inside of an async 
function without a catch block, or by rejecting a promise which was 
not handled with .catch(). (rejection id: 1)
(node:2359) [DEP0018] DeprecationWarning: Unhandled promise rejections 
are deprecated. In the future, promise rejections that are not handled 
will terminate the Node.js process with a non-zero exit code.

И это мой сценарий, который я пытаюсь выполнить из SSH:

const http = require('http');
const puppeteer = require('puppeteer');

(async () => {
const browser = await puppeteer.launch({ args: ['--no-sandbox']});
const page = await browser.newPage();
await page.setViewport({ width: 780, height: 580 });
await page.goto('https://www.google.pl/');
await page.waitFor(15200);
await page.screenshot({path: 'testScreenshot.jpg'});

await browser.close();
})();

Я не знаю, что я делаю неправильно, я уже установил все недостающие зависимости, недостающие библиотеки и т. Д. И все еще получаю эту ошибку.

Я использую CentOS7, NodeJS 10.1.0 и NPM 5.6.0.

Один и тот же сценарий с теми же библиотеками и теми же зависимостями и т. Д. Хорошо работает на бродячем компьютере с установленной операционной системой GNU / Linux общего назначения ОС 3.13.0-44.

Я выполняю скрипт nodejs из SSH с правами su.

Я также пытался установить этот скрипт для установки отсутствующих библиотек:

yum install pango.x86_64 libXcomposite.x86_64 libXcursor.x86_64 
libXdamage.x86_64 libXext.x86_64 libXi.x86_64 libXtst.x86_64 cups- 
libs.x86_64 libXScrnSaver.x86_64 libXrandr.x86_64 GConf2.x86_64 alsa- 
lib.x86_64 atk.x86_64 gtk3.x86_64 -y

И затем centos говорит, что ничего новогоустановить, но я все еще получаю сообщение об ошибке при зависании сокета.

Да, и я также забыл, мои зависимости от package.json:

 "dependencies": {
    "chromium": "^1.0.2",
    "puppeteer": "^1.8.0",
    "puppeteer-core": "^1.8.0"
   }
...