Nodejs – NPM (Node Package Manager)

  • 쉽게 라이브러리들을 관리할 수 있게 도와주는 매니징 툴
  • 팀 단위로 협업을 할때 유용하게 사용 가능
    • npm install 로 package.json에 정의된 필요한 라이브러리들을 다 다운로드 받을 수 있기 때문에, github에 올릴때는 package.json만 있으면 됨

NPM 적용

  1. 프로젝트 경로로 이동
  2. npm init
  3. package.json 생성 / scripts에 실행 명령어 삽입

License 참고할 수 있는 사이트


버전 관리

  • 프로젝트는 보통 major 버전 ‘1’부터 시작
  • 간단한 오류 수정 및 패치는 patch 버전을 업데이트
  • 기능이 추가되면 minor 버전을 업데이트
  • 기존 제품에서 정말 다른 기능들이 대거 수정되거나 추가 되면 major 버전을 업데이트

npm 명령어

  • 라이브러리 설치
    • npm install ${패키지 이름} / npm i ${패키지 이름} / npm add ${패키지 이름}
  • 설치된 라이브러리 확인
    • npm list / npm ll / npm la
    • npm ll -g –dept=0 (글로벌로 딱 내가 설치한 라이브러리만 확인)
  • 특정한 라이브러리 정보 조회
    • npm view ${패키지 이름}
  • 특정한 라이브러리 제거
    • npm uninstall ${패키지 이름}
  • 업데이트 가능한 라이브러리 확인
    • npm outdated
  • npm 버전 업데이트
    • npm update // 전체를 wanted 까지 업데이트 (package.json > dependencies 에 정의된 버전 기준
    • npm update ${패키지 이름} // 특정 패키지 업데이트

유용한 npm 라이브러리

  • nodemon : 파일이 변경되면 자동으로 서버를 재시작해줌
    • 단, 이 nodemon은 개발할 때만 필요하므로 실제 production (제품)에서는 포함될 필요가 없음
    • npm i nodemon –save-dev’ 로 설치 > package.json devDependencies 에 설치

주의해야할 점🚨

npm에서 글로벌로 패키지를 설치할때 왠만하면 sudo(파워 권한)로 설치 하지않는다. 보안에 안전하지 않아서 최대한 피해야 한다😱

npm에서 무언가 설치하실때 권한 이슈가 나오면 아래를 시도.

sudo chown -R $(whoami) $(npm config get prefix)/{lib/node_modules,bin,share}