ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Node.js 스터디 4주차
    BackEnd/Node.js 2022. 2. 7. 22:19

    Node.js 교과서 5장 패키지 매니저를 공부! 


    5.1 npm 알아보기

    node.js, javascript, react 등에서 사용하는 패키지매니저에는 크게 npm과 yarn이 있다. 

    두가지다 자바스크립트 패키지 매니저로, 많은 사용자를 보유하고 있다. 

     

    npm   yarn
    npm사  제작사 페이스북
    하나가 다 설치될 때까지 기다림 여러 패키지 설치 시 동시에 여러개 설치 (속도 빠름)
    package-lock.json 잠금파일
    (협업시 개발자들마다 설치 버전이
    달라지는걸 방지하기 위해
    설치 시점 버전으로 잠궈놓기 위함)
    yarn.lock파일 자동 생성
    npm install - 
    npm install --global
    설치 명령어 yarn add -
    yarn global add
    npm update 업데이트 명령어 yarn upgrade

    +) init(package.json파일 생성) , run은 npm과 yarn모두 동일


    5.2 package.json으로 패키지 관리하기

    * package.json 파일은 프로젝트 정보, 의존성, 사용하는 패키지 정보 등등이 기록되어 있다.

    {
      "name": "npmtest",
      "version": "1.0.0",
      "description": "hello package.json",
      "main": "index.js", // 자바스크립트 실행 파일 진입점
      "scripts": {
        "test": "echo \"Error: no test specified\" && exit 1" //테스트 시 입력할 명령어
      },
      "author": "dayeon",
      "license": "ISC"
    }

    참고한 포스팅 

    https://javascript.plainenglish.io/npm-vs-yarn-choosing-the-right-package-manager-a5f04256a93f

     

    npm vs Yarn — Choosing the right package manager

    Choose the right package manager for your project

    javascript.plainenglish.io


    express설치

    npm install [패키지 이름]의 형태로 설치한다. 

    설치한 패키지는 package.json에서 버전과 함께 확인할 수 있다.

    express를 설치하게 되면 express가 의존하는 패키지들도 node_modules안에 설치가 된다. 여러 패키지들이 의존관계를 구성하기 때문에 package.json이 필요하다. 또한 package-lock.json파일도 생성된다. 

    아래처럼 여러개를 한번에 설치할 수도 있다. 

    패키지 간단 소개

    - morgan : 로그를 기록하는데 도움을 주는 패키지

    - cookie-parser : 요청에 동봉된 쿠키를 해석해서 req.cookies객체로 만든다. 

    - express-session : 세션 관리용 패키지, 특정 사용자의 데이터 일시적 저장시 사용

    - nodemon : 소스 코드가 바뀔 때마다 자동으로 노드 재실행

    - rimraf : 리눅스나 맥의 rm -rf (파일/폴더 삭제 명령어)를 윈도우에서도 사용할 수 있게 만들어줌. 

     

    전역 설치 : 현재 폴더의 node_modules가 아닌, npm이 설치된 폴더에 설치한다. 

    -> install 뒤에 --global옵션을 넣어주면 된다. 

    package.json에 기록되지는 않으므로 npx사용해서 설치하기도 한다. 

     


    5.3 패키지 버전 이해하기

    - SemVer 방식의 버전 넘버링

    -> Semantic Versioning(유의적 버전)의 약어로, 버전을 구성하는 세 자리가 모두 의미를 가지고 있다는 뜻이다. 

     

    EX ) 1.2.3

    -> 1 : major 버전, 하위 호환이 되지 않는 변경사항. 업데이트시 이전 버전 사용자의 에러 발생확률 높다.

    -> 2 : minor 버전, 하위 호환이 되는 기능 업데이트

    -> 3 : patch 버전, 기존 기능의 버그 등을 수정

     

    npm i express@^1.1.1 1.1.1이상, 2.0.0 미만까지 설치(minor버전까지만)
    npm i express@~1.1.1 1.1.1이상, 1.2.0 미만까지 설치(patch버전까지만)
    npm i express@latest 안정된 최신 버전의 패키지 설치, @x와 동일
    npm i express@next 가장 최근 배포판, 안정되지 않은 버전 설치가능성 있음

     


    5.4 기타 npm 명령어

    - npm outdated : 업데이트 할 수 있는 패키지 확인

    -> current와 wanted가 다른 경우에 업데이트 필요

    -> latest는 최신 버전이지만 package.json과 버전 범위 다르면 설치 X

     

    - npm uninstall [패키지명] : 패키지 제거 (== npm rm [패키지명])

    - npm search [검색어]  : 패키지 검색

    - npm info [패키지명] : 패키지 세부 정보 파악

    - npm adduser : npm 로그인을 위한 명령어, 패키지 배포시에만 필요

    - npm publish : 패키지 배포

    - npm unpublish [패키지명] --force : 배포한 패키지 삭제(72시간 이내만 삭제 가능)

     

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

    Node.js 스터디 6주차  (0) 2022.02.22
    Node.js 스터디 5주차  (0) 2022.02.15
    Node.js 스터디 3주차  (0) 2022.02.05
    Node.js 스터디 2주차  (0) 2022.01.25
    Node.js 스터디 1주차  (0) 2022.01.18
Designed by Tistory.