만자의 개발일지

[Node.js] 프로덕션 환경에 해당하는 의존성만 설치하는 방법 본문

Node.js

[Node.js] 프로덕션 환경에 해당하는 의존성만 설치하는 방법

박만자 2022. 3. 30. 21:18

다음과 같이 package.json이 구성되어있습니다.

{
    "name": "application",
    "version": "1.0.0",
    "dependencies": {
        "express": "^4.17.3",
        "mysql": "^2.18.1"
    },
    "devDependencies": {
        "pkg": "^5.5.2",
        "nodemon": "^2.0.15"
    }
}

dependencies는 프로덕션 환경에서 응용 프로그램을 실행시키기 위한 패키지들이 정의되어있고 devDependencies는 로컬 환경에서 개발 및 테스트에만 필요한 패키지들이 정의되어있습니다.

 

실제로 프로덕션 환경에 배포할 때는 dependencies에 정의된 패키지들만 설치해주면 되는데 그냥 npm install 명령어로 설치해주게 되면 프로덕션 환경에서는 필요없는 devDependenceis에 정의된 패키지들까지 같이 설치되게 됩니다.

 

그래서 npm install 명령어로 패키지를 설치할 때 --only=prod(또는 --only=production) 옵션을 붙여 dependencies에 정의된 패키지들만 설치할 수 있습니다.

npm install --only=prod

 

반대로 개발 환경에 필요한 모듈만 설치하고 싶다면 --only=dev 옵션을 붙여 devDepenceis에 정의된 모듈만 설치할 수 있습니다.

npm install --only=dev

 

또한 모듈을 설치할 때 기본적으로 dependencies에 정의되는데 -D 옵션을 붙이면 설치와 동시에 devDependencies에 정의됩니다.

npm install <module-name> -D
Comments