puppeteer
를 사용할 때 "error while loading shared libraries: libgbm.so.1: cannot open shared object file: No such file or directory" 오류가 발생하는 경우, 일반적으로 시스템에 필요한 라이브러리가 누락되었음을 의미합니다. libgbm
는 그래픽스 버퍼 관리에 필요한 라이브러리입니다. 이를 해결하기 위한 몇 가지 단계는 다음과 같습니다:
-
라이브러리 설치: 대부분의 Linux 배포판에서는 libgbm
라이브러리를 설치하기 위해 적절한 패키지 관리자를 사용할 수 있습니다. Ubuntu나 Debian 기반 시스템에서는 다음과 같이 할 수 있습니다:
sudo apt-get update
sudo apt-get install libgbm-dev
-
Puppeteer 환경 설정: Puppeteer를 설치할 때 --no-sandbox
옵션을 사용하는 것은 보안상 권장되지 않지만, 일부 환경에서는 필요할 수 있습니다. 이를 위해 Puppeteer를 실행할 때 다음 옵션을 추가할 수 있습니다:
const browser = await puppeteer.launch({args: ['--no-sandbox', '--disable-setuid-sandbox']});
-
의존성 확인: Puppeteer가 올바르게 실행되기 위해 필요한 모든 의존성이 설치되어 있는지 확인합니다. Puppeteer 공식 문서나 GitHub 문제 해결 섹션에는 종종 필요한 추가 라이브러리 목록이 제공됩니다.
-
Docker 사용 고려: 문제가 계속되는 경우, Puppeteer를 Docker 컨테이너 내에서 실행하여 모든 의존성을 컨테이너에 포함시키는 방법을 고려할 수 있습니다. 이는 환경을 일관되게 유지하고 이러한 유형의 문제를 방지하는 데 도움이 될 수 있습니다.
이 단계들을 따라 해보시고, 여전히 문제가 해결되지 않는다면, 오류 메시지의 구체적인 내용, 사용 중인 운영체제와 버전, 그리고 어떤 명령을 실행했는지 등의 추가 정보를 제공해 주시면 더 구체적인 도움을 드릴 수 있을 것입니다.