n8n

n8n - 의존성이란

픽스루프 2025. 7. 3. 16:58
반응형

“의존성(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가 요구하는 런타임 의존성까지 자동으로 처리해 줍니다.

 

반응형