Кукольник с Headless_shell? - PullRequest
       12

Кукольник с Headless_shell?

0 голосов
/ 30 августа 2018

Я пытаюсь работать над кукловодом с headless_shell, чтобы избежать библиотечных зависимостей в Linux. Когда я попробовал const browser = await puppeteer.launch({executablePath: 'out/Release/headless_shell'}), браузер создан. Но когда я попробовал, const page = await browser.newPage(); Процесс тут же остановился без каких-либо ошибок. Для другой версии для headless_shell, я получаю эту ошибку.

 (node:17176) UnhandledPromiseRejectionWarning: Error: Failed to launch chrome!
    [0906/155318.398013:ERROR:icu_util.cc(172)] Invalid file descriptor to ICU data received.
    [0906/155318.398147:FATAL:content_main_delegate.cc(58)] Check failed: false. 
    #0 0x000002abf89c base::debug::StackTrace::StackTrace()
    #1 0x000002a45ca0 logging::LogMessage::~LogMessage()
    #2 0x0000029edc23 content::ContentMainDelegate::TerminateForFatalInitializationError()
    #3 0x0000029f5202 content::ContentMainRunnerImpl::Initialize()
    #4 0x000003d6b528 service_manager::Main()
    #5 0x0000029ee4a1 content::ContentMain()
    #6 0x000002ae077d headless::(anonymous namespace)::RunContentMain()
    #7 0x000002ae0808 headless::HeadlessBrowserMain()
    #8 0x000002a2e84a headless::HeadlessShellMain()
    #9 0x7f38923ac830 __libc_start_main
    #10 0x00000124f02a _start

1 Ответ

0 голосов
/ 17 сентября 2018

Проблема в разрешениях каталогов / файлов.

Когда кукольник был установлен, права по умолчанию ни для кого не принадлежали: но не во всех файлах были установлены групповые или другие биты (т.е. 600 или 700). Puppeteer был установлен как npm install -g puppeteer и запускается как локальный пользователь. Исправление состояло в том, чтобы chmod файлы, чтобы установить группу и другие биты, чтобы соответствовать "пользователям".

cd out/Release/headless_shell #or wherever the file is
find . -type d | xargs -L1 -Ixx sudo chmod 755 xx
find . -type f -perm /u+x | xargs -L1 -Ixx sudo chmod 755 xx
find . -type f -not -perm /u+x | xargs -L1 -Ixx sudo chmod 644 xx

PS: фактическая ошибка показана как Invalid file descriptor to ICU data received, а проблема https://github.com/GoogleChrome/puppeteer/issues/2519 подробно обсуждается.

...