On Debian 9.5 I had the same issue namely
Error: Failed to launch the browser process! spawn /home/user/PuppeteerTests/node_modules/puppeteer/.local-chromium/linux-737027/chrome-linux/chrome ENOENT
So I first went into node_modules/puppeteer/.local-chromium/linux-737027/
and found a zip file named chrome-linux.zip
containing a folder named chrome-linux
.
Then I went one directory deeper in chrome-linux
and only found libGLESv2.so
.
So I took the chrome-linux
dir within the zip file and pasted it in node_modules/puppeteer/.local-chromium/linux-737027/
(so removed the old one).
Then I tried the example from Google :
const puppeteer = require('puppeteer');
(async() => {
const browser = await puppeteer.launch();
console.log(await browser.version());
await browser.close();
})();
which yielded in
Error: Failed to launch the browser process!
[0424/110706.119517:FATAL:zygote_host_impl_linux.cc(116)] No usable sandbox! Update your kernel or see https://chromium.googlesource.com/chromium/src/+/master/docs/linux/suid_sandbox_development.md for more information on developing with the SUID sandbox. If you want to live dangerously and need an immediate workaround, you can try using --no-sandbox.
Finally following this Puppeteer guide I enabled user namespace cloning
to get the sandbox working :
sudo sysctl -w kernel.unprivileged_userns_clone=1
Tried again the same example which worked.