# 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
'개발(Development) > JS(자바스크립트)' 카테고리의 다른 글
[JavaScript] if 조건문 효율적으로 가독성 있게 쓰는 방법 (0) | 2023.05.07 |
---|---|
[JS]requestAnimationFrame/cancelAnimationFrame원리와 사용 방법(Feat. 브라우저 작동 방식) (0) | 2023.01.21 |
[TypeScript] enum 기초 사용법 (+ enum이 필요한 이유) (0) | 2022.08.18 |
[JS] 텍스트 복사(Copy) 완전 쉬운 방법: Clipboard API (0) | 2022.06.23 |
[Node.js] Multer - fetch 파일 전송 에러: Error: Multipart: Boundary not found (0) | 2022.05.14 |
댓글