Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

puppeteer download firefox and chrome binaries together

I´am able to download firefox binaries for my project by set the environment variable:

npm config set PUPPETEER_PRODUCT firefox npm i puppeteer

Then inside of my project I run:

npm i puppeteer

This works fine. However when I change it back to chrome and reinstall it:

npm config set PUPPETEER_PRODUCT chrome npm i puppeteer
npm i puppeteer

It will delete the firefox binaries and only install chrome again. I tried to run npm update after switching the PUPPETEER_PRODUCT environment variable however this doesn´t work and nothing gets updated.

How can I download firefox and chrome binaries together? That I can easily switch the product value?

client = await puppeteer.launch({  product: 'firefox'  }); // or product: 'chrome'

Please notice that I can not just create a hello world project and set product: 'firefox' because the binaries does not exist and will not automatically downloaded. For any default puppeteer install only the chrome binaries will exist.

Switching to firefox won´t work until you change the environment variable PUPPETEER_PRODUCT to firefox and reinstall puppeteer and download the firefox binaries.

like image 460
LILBRICK1337 Avatar asked Sep 16 '25 18:09

LILBRICK1337


2 Answers

As it seems you can only not use on windows this command via terminal:

  • PUPPETEER_PRODUCT=firefox npm install puppeteer

On linux you can run the command above and it will download the binaries. There is actually no need to use this on linux:

  • npm config set PUPPETEER_PRODUCT firefox npm i puppeteer
like image 155
LILBRICK1337 Avatar answered Sep 19 '25 06:09

LILBRICK1337


To install both Chromium and Firefox at the same time:

  1. Install Chromium

    npm install puppeteer
    
  2. Install Firefox

    cd node_modules/puppeteer
    PUPPETEER_PRODUCT=firefox node install.js
    cd ../..
    

You should now see that they're both installed:

$ ls -1d node_modules/puppeteer/.local*
node_modules/puppeteer/.local-chromium
node_modules/puppeteer/.local-firefox

Source: https://github.com/puppeteer/puppeteer/issues/5743#issuecomment-621664876

like image 21
bmaupin Avatar answered Sep 19 '25 06:09

bmaupin