일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 상속
- process.env
- 서브셋폰트
- git
- npm
- 캡슐화
- dotenv
- 동적계획법
- 클라우드
- Secret
- mock
- package
- CSS
- github
- 메모이제이션
- dfs
- netlify
- bfs
- DP
- MariaDB
- 객체지향
- 디자인 패턴
- azure
- 추상화
- 다형성
- AOP
- Solid
- PostgreSQL
- GOF
- Java
- Today
- Total
이것저것 해보기🌼
puppeteer : Could not find Chrome 에러 해결 본문
에러 로그
Error: Could not find Chrome (ver. 129.0.6668.58). This can occur if either
1. you did not perform an installation before running the script (e.g. `npx puppeteer browsers install ${browserType}`) or
2. your cache path is incorrectly configured (which is: /workspace/.cache/puppeteer).
For (2), check out our guide on configuring puppeteer at https://pptr.dev/guides/configuration.
크롬 브라우저를 찾을 수 없다는 오류다.
이 경우 로컬에서는 제대로 되는데 배포 환경에서 크롬 브라우저가 없으므로 발생하는 경우가 많다.
공식문서
Starting in v19.0.0, Puppeteer stores browsers in ~/.cache/puppeteer to globally cache browsers between installation.
퍼피티어 19버전 이후부터는 puppeteer가 브라우저를 global cache 폴더에 저장한다고 되어있다.
오류 메세지에 있던 대로 브라우저를 설치해보면
어떤 폴더에 크롬 브라우저가 설치되는지 볼 수 있다.
npx puppeteer browsers install
이 폴더는 당연히 firebase 로 배포시에 같이 업로드되지 않으므로 크롬 브라우저가 설치되지 않았다고 나오는 것이다.
에러 로그에 있던대로 공식 문서 링크를 확인해본다.
https://pptr.dev/guides/configuration
Changing the default cache directory
라는 항목에서 브라우저 설치 경로를 어떻게 바꾸는지 기술되어있다.
결국 빌드 스텝에서 같이 package화 되려면 해당 프로젝트 폴더 내에 저장이 되어야 한단 것이다.
project-directory/.puppeteerrc.cjs
const {join} = require('path');
/**
* @type {import("puppeteer").Configuration}
*/
module.exports = {
// Changes the cache location for Puppeteer.
cacheDirectory: join(__dirname, '.cache', 'puppeteer'),
};
이렇게 설정파일을 넣고 다시 npm install puppeteer browser install 실행 시,
이번에는 프로젝트 폴더 내의 .cache/puppeteer/ 폴더 하위로 크롬이 설치완료되었다.
Firebase functions Memory limit 늘리기
그리고 다시 실행해보니 이번에는 메모리를 초과하였다는 에러가 발생했다.
Memory limit of 512 MiB exceeded with 517 MiB used. Consider increasing the memory limit, see https://cloud.google.com/functions/docs/configuring/memory
이 경우엔 기본 512 MB 에서 1GB 나 2 GB 정도로 메모리를 늘리고 시도해본다.
'프로젝트 > 참나무농원' 카테고리의 다른 글
Firebase Functions 시작 및 배포 (0) | 2024.09.20 |
---|---|
dotenv로 .env 설정 및 Github Actions에 secret 추가하기 (MariaDB 접속정보) (1) | 2024.09.12 |
크롤링 모듈 선택 - axios+cheerio / Selenium / beautifulsoup / scrapy / puppeteer (0) | 2024.08.28 |
[React] firebase 회원가입/로그인 구현하기 (이메일, 비밀번호 사용) (0) | 2024.06.23 |
firebase로 웹 어플리케이션 배포하기 (0) | 2024.06.23 |