반응형
“의존성(dependency)”이란,
어떤 소프트웨어(애플리케이션이나 라이브러리)가 정상적으로 동작하거나 빌드되기 위해 함께 설치·준비되어야 하는 외부 요소를 가리킵니다.
주로 다음 세 가지 레벨로 구분
1.애플리케이션 의존성
- Node.js 프로젝트의 package.json 안 dependencies 항목처럼, 애플리케이션 코드가 내부에서 require() 또는 import 해서 사용하는 외부 패키지
- 예) Express, Lodash, Playwright 등
2. 빌드 의존성
- 소스 코드를 컴파일하거나 번들링할 때 필요한 도구 및 라이브러리
- 예) GCC, Make, Python 개발 헤더 등
3. 런타임(시스템) 의존성
- 컨테이너나 서버 OS 차원에서 애플리케이션이 실행될 때 반드시 필요한 시스템 패키지
- 예) Playwright 브라우저 엔진을 구동하기 위한 libgtk-3-0, libxss1, libasound2 등
Dockerfile에서 의존성 설치 예시
FROM node:20.19.0-alpine # (1) 시스템(런타임) 의존성 설치 RUN apk add --no-cache \ nss \ freetype \ harfbuzz \ ca-certificates \ ttf-freefont # (2) 애플리케이션 의존성 설치 WORKDIR /app COPY package.json package-lock.json ./ RUN npm ci # (3) Playwright 설치 (브라우저 엔진 + 시스템 의존성 자동 처리) RUN npx playwright install --with-deps COPY . . CMD ["npm", "start"] |
- apk add … 또는 apt-get install … 부분이 OS 수준 의존성 설치
- npm ci 가 애플리케이션(패키지) 의존성 설치
- npx playwright install --with-deps 로 Playwright가 요구하는 런타임 의존성까지 자동으로 처리해 줍니다.
반응형
'n8n' 카테고리의 다른 글
n8n에서 노드에 설명/메모 붙이는 방법 3가지 (1) | 2025.07.09 |
---|---|
n8n-parent snapshot-Docker BuildKit 내부 캐시/스냅샷 문제 (0) | 2025.07.04 |
n8n 도커 - 이미지 빌드란? (0) | 2025.07.03 |
n8n의 로그를 보는 기본 명령어 (0) | 2025.07.03 |
실행 정책(Execution Policy) 확인 (0) | 2025.07.03 |