본문 바로가기
개발(Development)/JS(자바스크립트)

[Puppeteer] M1 맥북 Chromium Error: Failed to launch the browser process 해결 방법

by 카레유 2022. 8. 25.

# M1 맥북 puppeter 실행 불가 문제 현상(feat. Chromium)

애플 실리콘 칩이 탑재된 M1 맥북에서 

Puppeteer 를 사용하려 하면 아래와 같은 에러가 발생할 수 있다.

Error: Failed to launch the browser process 

Chromium.app/Contents/MacOS/Chromium: No such file or directory:

Chromium.app/Contents/MacOS/Chromium cannot execute: No such file or directory

The chromium binary is not available for arm64

 

 

혹은 아래와 같은 팝업이 발생할 수 도 있다.

‘Chromium’은(는) 손상되었기 때문에 열 수 없습니다. 해당 항목을 휴지통으로 이동해야 합니다.

 

해결 방법은 간단하다. 딱 2개만 해주면 된다.


# M1 맥북 puppeter 실행 불가 해결 방법

1. --no-quarantine 옵션으로 Chromium을 설치한다.

- 처음 설치하는 경우:

brew install --cask chromium --no-quarantine

 

- 이미 설치한 경우 재설치: 

brew reinstall --cask chromium --no-quarantine

--no-quarantine 옵션은 애플이 특정 앱을 격리시키는 걸 해제한다고 한다.(disable Apple’s quarantining for the specific app.) 

공식 깃헙 참고: https://github.com/Homebrew/homebrew-cask/blob/HEAD/USAGE.md#options 

*** 혹시 맥OS용 패키지 관리 프로그램인 homebrew 가 설치되어 있지 않다면, https://brew.sh/ 을 보고 설치하자. (한줄만 입력하면 된다)

 

2. ~/.zhhrc 수정

- vi 편집기로 수정하려면 터미널에서 vi ~/.zshrc를 입력한다.

- VS Code에서 수정하려면 터미널에서 code ~/.zshrc 를 입력한다.

- 편집화면이 열리면, puppeteer에서 우리가 설치한 chromium을 사용하도록 설정해주자.

# .... 

# M1 맥북에서 chromium, puppeteer를 위한 설정
export PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true
export PUPPETEER_EXECUTABLE_PATH=`which chromium`

이제 애플 실리콘칩이 탑재된 M1 맥북에서도 puppeteer 를 통해 크롤링을 할 수 있을 것이다.

 

혹시 리눅스 환경에서 puppeteer 실행에 애를 먹고 있다면 아래 글도 참고해보자.

node.js puppeteer 리눅스VM 실행 불가 해결 방법(CentOS, 우분투): Failed to launch the browser process

 

 

 

댓글