@@ -28,16 +28,21 @@ export const runLighthouse = async (url, settings) => {
2828 try {
2929 console . log ( 'Launching Chrome with puppeteer...' ) ;
3030
31+ // Set cache directory before any Puppeteer operations
32+ process . env . PUPPETEER_CACHE_DIR = '/tmp/puppeteer' ;
33+ console . log ( 'Setting Puppeteer cache directory:' , process . env . PUPPETEER_CACHE_DIR ) ;
34+
3135 try {
32- // For newer Puppeteer versions, just log the install location
33- const installDir = process . env . PUPPETEER_CACHE_DIR || '/tmp/puppeteer' ;
34- console . log ( 'Puppeteer install directory:' , installDir ) ;
36+ console . log ( 'Installing Chrome...' ) ;
37+ await puppeteer . browsers ( ) . install ( ) ;
38+ console . log ( 'Chrome installation complete' ) ;
3539 } catch ( err ) {
36- console . log ( 'Error getting Puppeteer info :' , err . message ) ;
40+ console . log ( 'Error installing Chrome :' , err . message ) ;
3741 }
3842
3943 // Check for Chrome in Netlify environment first
4044 const chromePaths = [
45+ '/opt/buildhome/.cache/puppeteer/chrome/linux-136.0.7103.92/chrome-linux64/chrome' ,
4146 '/opt/buildhome/.cache/puppeteer/chrome/linux-119.0.6045.105/chrome-linux64/chrome' ,
4247 '/usr/bin/google-chrome' ,
4348 '/usr/bin/chromium-browser'
@@ -78,16 +83,14 @@ export const runLighthouse = async (url, settings) => {
7883 try {
7984 const launchConfig = {
8085 headless : 'new' ,
81- ...( executablePath ? { executablePath } : { } ) ,
8286 args : [
8387 '--no-sandbox' ,
8488 '--disable-gpu' ,
8589 '--disable-dev-shm-usage' ,
8690 '--disable-software-rasterizer' ,
8791 '--disable-setuid-sandbox' ,
8892 '--no-zygote'
89- ] ,
90- cacheDirectory
93+ ]
9194 } ;
9295
9396 console . log ( 'Launching browser with config:' , launchConfig ) ;
0 commit comments