-
npm install과 npm install --production의 차이는?Dev 2024. 8. 15. 10:16728x90
npm install
- 설치 대상: package.json 파일에 정의된 모든 의존성(dependencies 및 devDependencies)을 설치합니다.
- 사용 시기: 개발 환경에서 사용됩니다. 개발 중에 필요한 모든 패키지(예: 테스트 라이브러리, 빌드 도구 등)를 설치합니다.
npm install --production
- 설치 대상: package.json 파일에 정의된 dependencies만 설치합니다. devDependencies는 설치되지 않습니다.
- 사용 시기: 프로덕션 환경에서 사용됩니다. 실행에 필요한 최소한의 패키지만 설치하여 이미지 크기를 줄이고, 보안 및 성능 최적화를 꾀할 수 있습니다.
예시
- 개발 중이라면, npm install을 사용하여 테스트 및 빌드 도구를 포함한 모든 패키지를 설치합니다.
- 프로덕션 환경에서 애플리케이션을 배포할 때는 npm install --production을 사용하여 런타임에 필요한 패키지만 설치하고, 개발 도구를 제외하여 컨테이너의 크기와 보안 위험을 줄입니다.
(참고)
devDependencies의 용도
- 빌드 도구:
- 애플리케이션을 빌드하거나 번들링할 때 필요한 도구들.
- 예: Webpack, Babel, Gulp.
- 테스트 프레임워크:
- 코드의 유닛 테스트, 통합 테스트, 엔드 투 엔드 테스트를 수행하는 도구들.
- 예: Mocha, Jest, Chai.
- Linting 도구:
- 코드의 스타일과 품질을 검사하고 유지하는 데 사용되는 도구들.
- 예: ESLint, TSLint.
- 문서화 도구:
- 코드 문서를 자동으로 생성하거나 관리하는 도구들.
- 예: JSDoc.
- 개발 서버:
- 개발 중에 사용할 수 있는 간이 서버 또는 로컬 서버 도구들.
- 예: nodemon, webpack-dev-server.
- 타입 체커:
- TypeScript와 같은 정적 타입 체커를 사용할 때 필요한 패키지들.
- 예: TypeScript.
{ "name": "my-project", "version": "1.0.0", "dependencies": { "express": "^4.17.1" }, "devDependencies": { "nodemon": "^2.0.7", "eslint": "^7.23.0", "mocha": "^8.3.2" } }
- dependencies: 애플리케이션이 런타임에 의존하는 패키지(예: express).
- devDependencies: 개발 과정에서만 필요한 패키지(예: nodemon, eslint, mocha).
728x90'Dev' 카테고리의 다른 글
go언어에서 Java의 클래스, 속성, 메소드는 어떻게 구현이되? (1) 2025.03.02 Django에서 admin user 생성하기 위한 명령 (1) 2024.09.18 yarn 주요 명령어 (0) 2024.08.16 npm, pnpm, yarn, bun 비교 (0) 2024.08.16 git squash 사용법 (0) 2024.08.15