본문 바로가기
frontend/Node.js

[Node.js] npm install - 패키지 종속성 유형 설치(dependencies, devDependencies)

by 신림쥐 2024. 11. 8.
728x90
반응형

 

     


     

    package.json

    • 프로젝트의 정보를 정의하고, 의존하는 패키지 버전 정보가 명시되는 파일

     

    패키지 버전 정보

    실제로 어플리케이션 운용에 필요한 의존성 여부

    • dependencies: 실제 런타임에서 사용되는 패키지
    • devDependencies: 개발 모드일 때만 의존하고 있는 패키지
    {
      "dependencies": {
        "dayjs": "1.11.1"
      },
      "devDependencies": {
        "@types/node": "17.0.25"
      }
    }

     

     

    npm install

    $ npm install
    플래그 효과
      package.json 에 포함된 의존성 패키지들이 일괄적으로 설치
    -P 패키지를 설치하고 프로젝트의 dependencies 목록에 추가한다.
    —save-prod 패키지를 설치하고 프로젝트의 dependencies 목록에 추가한다.
    -D 패키지를 설치하고 프로젝트의 devDependencies 목록에 추가한다.
    —save-dev 패키지를 설치하고 프로젝트의 devDependencies 목록에 추가한다.
    -g 패키지를 프로젝트가 아닌 시스템의 node_modules 폴더에 설치한다.
    --save 파일의 종속성 항목을 설치
    --force 디스크에 존재하는 경우 원격 항목을 가져 오기
    --force-latest 충돌시 최신 버전
    --production 프로젝트 devddependencies를 설치하지 마십시오
    --no-color 색상을 인쇄하지 마십시오

     

     

    패키지 글로벌 관리

    설치된 글로벌 모듈 확인

    $ npm list -g --depth=0

     

    글로벌 모듈 설치

    $ npm install -g [패키지명]

     

    글로벌 모듈 삭제

    $ npm uninstall -g [패키지명]
    $ npm un -g [패키지명]

     

     

    패키지간의 호환성 관리

    모듈의 호환성 의존성 모듈 버전 확인

    $ npm info "module@version" peerDependencies

     

    모듈의 호환성 의존성 모듈 설치

    $ npx install-peerdeps --dev eslint-config-airbnb

     

     

     

    패키지 종속성 유형 관리

    omit

    • 정의 : --omit 옵션은 설치 시 특정 유형의 종속성을 생략하는 옵션, 생략된 종속성은 package-lock.json이나 npm-shrinkwrap.json에는 기록되지만, 실제로 디스크에는 설치되지 않습니다.
    • default : NODE_ENV환경 변수가 'production'으로 설정된 경우 'dev', 그렇지 않으면 비어 있음.
    • type : "dev", "optional" 또는 "peer"(여러 번 설정 가능)

    include

    • 정의 : --include 옵션은 특정 유형의 종속성만 포함할 수 있게 해주는 옵션
    • default :
    • type : "prod", "dev", "optional" 또는 "peer"(여러 번 설정 가능)
    두 옵션을 함께 사용하면, 포함과 생략 규칙이 충돌할 수 있습니다. 이 경우 포함 목록에 있는 종속성 유형이 우선 적용
    예를 들어 --omit=dev와 --include=prod를 함께 사용하면 개발 종속성은 제외하고 일반 종속성만 설치

     

     

    npm WRAN config production Use `--omit=dev` instead.

    • 2024-11-08 기준, npm 최신 버전인 v10.9.0을 기준으로 작성
    • Node.js v18.19.0 (npm v10.2.3)

     

    // v10.9.0 이상
    $ npm install --omit=dev
    $ npm install --include=prod
    
    // v7.24.4 - 9.9.3 이상
    $ npm install --omit=dev
    $ NODE_ENV=production npm install --include=prod
    
    // #9 1.042 npm WARN config only Use `--omit=dev` to omit dev dependencies from the install.
    
    // v6 - v7, npm v7부터는 이 옵션이 더 이상 권장되지 않음
    // --only={prod[uction]|dev[elopment]}
    $ npm install --only=prod
    $ npm install --only=dev
    
    // v3.3.0-v6.14.18 이상 (2011년)
    $ npm install --production
    $ npm install --development

     

     

     

     


    참고문헌

    https://docs.npmjs.com/cli/v8/commands/npm-install/

     

    npm-install | npm Docs

    Install a package

    docs.npmjs.com

     

     

     

    728x90
    반응형

    'frontend > Node.js' 카테고리의 다른 글

    [Node.js] NPM, CDN 차이  (2) 2024.11.08
    [Node.js] Node 환경 설정 - package.json  (0) 2024.05.03
    [node.js] http-proxy-middleware  (0) 2024.01.24