Некорректная установка или версия Node.js Lighthouse
требует современную версию Node.js для корректной работы. Использование
устаревших версий часто вызывает ошибки вроде
Cannot find module 'puppeteer' или
SyntaxError: Unexpected token. Рекомендуется проверять
текущую версию Node через команду node -v и обновлять её до
последней стабильной версии. Кроме того, при глобальной установке
Lighthouse (npm install -g lighthouse) важно убедиться, что
PATH корректно настроен, иначе команда lighthouse может
быть не найдена.
Ошибки при запуске через CLI Запуск Lighthouse из командной строки часто сопровождается следующими проблемами:
http://
или https:// приводит к ошибке URL is invalid.
Всегда использовать полный адрес.Timeout exceeded. Для CLI можно
увеличивать таймаут через флаг --max-wait-for-load или
--emulated-form-factor для более точного контроля
загрузки.Failed to load resource.
Эти ошибки не всегда критичны, но влияют на точность оценки.Ошибки при использовании API Node.js При интеграции Lighthouse через Node.js API частыми ошибками являются:
chromeFlags вне блока chromeLauncher вызывает
ошибку Unknown option.chromePath не указан, а система не находит стандартный
исполняемый файл, Lighthouse выдаст ошибку запуска браузера. Решение —
явно указать путь к Chrome или использовать пакет
chrome-launcher для автоматического поиска.await или .then(). Ошибки типа
Cannot read property 'lhr' of undefined возникают при
попытке доступа к результату до завершения анализа.Конфликты с уже запущенными экземплярами Chrome
Lighthouse использует отдельный экземпляр Chrome, но иногда система
путается, если другой процесс Chrome работает с пользовательским
профилем. Результатом могут быть ошибки вида
Chrome failed to start. Лучшей практикой является:
--disable-device-emulation для
упрощения запуска на проблемных системах.--user-data-dir для отдельного временного профиля.Ошибки при запуске в CI/CD Автоматизированные среды (Jenkins, GitHub Actions, GitLab CI) часто сталкиваются с:
--headless. Без этого анализ не стартует.Неправильная работа с профилями и кэшированием
--clear-storage помогает запускать анализ с «чистого
листа».--disable-storage-reset false.Ошибки при анализе SPA (Single Page Application) Lighthouse может не корректно оценивать динамически подгружаемый контент, если страницы рендерятся через Jav * aScript:
--max-wait-for-load или
--throttling-method позволяет компенсировать это.load, Lighthouse может
считать их недоступными. Для SPA рекомендуется использовать Puppeteer
скрипт для ожидания полного рендеринга перед вызовом
lighthouse().Эти ошибки — самые распространенные препятствия при запуске Lighthouse. Их понимание и корректная обработка позволяют обеспечить стабильный и точный анализ производительности, доступности и SEO веб-страниц.