본문 바로가기
개발/Node.js

Node_ Npm 관리

by JunsC 2025. 2. 27.
728x90

npm 이 부분은 Node / React 에서 많이 사용한다. 이 부분에 대해서 관리하는 방법을 알면 굉장히 유용할 것이라 생각이 든다. 과연 어떻게 유용하게 사용할 수 있는걸까??

 

 

 

 

📌 NPM(Node Package Manager) 관리 방법

NPM(Node Package Manager)은 JavaScript 패키지를 관리하는 도구로, 프로젝트에서 라이브러리를 설치하거나 버전을 관리하는 데 사용됩니다.

 

 

🔹 1. NPM 기본 명령어

NPM 초기화 (package.json 생성)

npm init
  • 여러 설정을 입력해야 함
  • 자동으로 기본값을 설정하려면:
 
npm init -y
 
  • package.json 파일이 생성됨

 

패키지 설치

npm install 패키지명

 

npm i 패키지명
  • 예시: axios 설치

 

npm install axios
  • 설치된 패키지는 node_modules 폴더에 저장됨
  • package.json에 "dependencies"로 기록됨

 

📌 개발용 패키지(devDependencies) 설치

npm install 패키지명 --save-dev
 
 
npm i 패키지명 -D
  • 예시: eslint를 개발용 패키지로 설치
 
npm i eslint -D
  • package.json의 "devDependencies"에 기록됨
  • 실행 시에는 포함되지 않지만, 개발 환경에서만 필요할 때 사용

 


 

패키지 삭제

npm uninstall 패키지명
 
npm remove 패키지명
  • 예시: axios 삭제
 
npm uninstall axios

 

 


 

🔹 2. 패키지 관리 (package.json & package-lock.json)

 

✅ package.json 파일

  • 프로젝트에서 사용하는 패키지 정보, 스크립트, 버전 등을 관리하는 파일
  • 주요 속성:
{
  "name": "my-project",
  "version": "1.0.0",
  "dependencies": {
    "axios": "^1.5.0"
  },
  "devDependencies": {
    "eslint": "^8.0.0"
  },
  "scripts": {
    "start": "node index.js",
    "dev": "nodemon index.js"
  }
}
  • "dependencies": 실제 프로젝트에서 사용하는 패키지 목록
  • "devDependencies": 개발할 때만 필요한 패키지 목록
  • "scripts": 실행할 명령어 모음

 

✅ package-lock.json 파일

  • 패키지 설치 시의 정확한 버전 정보를 저장
  • 팀원들과 동일한 환경을 유지하려면 package-lock.json을 유지해야 함
  • package.json과 다르게 세부적인 버전이 기록됨
  • 삭제해도 npm install 하면 다시 생성됨

 


 

🔹 3. 패키지 버전 관리

✅ 버전 표기법

"axios": "^1.5.0"
  • ^1.5.0: 1.x.x에서 1.5.0 이상 최신 버전 설치 가능 (2.0.0은 설치 안 됨)
  • ~1.5.0: 1.5.x에서 최신 버전 설치 가능 (1.6.0은 설치 안 됨)
  • 1.5.0: 정확히 1.5.0 버전만 설치됨

 


 

✅ 특정 버전 설치

npm install 패키지명@버전
  • 예시: axios 1.4.0 버전 설치
npm install axios@1.4.0

✅ 최신 버전으로 업데이트

npm update
  • package.json의 dependencies에 맞춰 최신 버전으로 업데이트

 


 

✅ 글로벌 패키지 설치

npm install -g 패키지명
  • 전역적으로 사용 가능한 패키지를 설치
  • 예시: nodemon 전역 설치
npm install -g nodemon

✅ 글로벌 패키지 목록 확인

npm list -g --depth=0

✅ 글로벌 패키지 삭제

npm uninstall -g 패키지명

 

 


 

🔹 4. NPM 실행 스크립트 (npm run)

✅ scripts 실행

  • package.json의 scripts에서 설정한 명령어 실행 가능
"scripts": {
  "start": "node index.js",
  "dev": "nodemon index.js"
}
 
npm run start  # node index.js 실행
npm run dev    # nodemon index.js 실행
  • start는 npm start로도 실행 가능 (run 생략 가능)

 


 

🔹 5. 캐시 관리 및 오류 해결

✅ 캐시 삭제 (오류 발생 시)

npm cache clean --force

✅ node_modules 및 package-lock.json 삭제 후 재설치

rm -rf node_modules package-lock.json
npm install

 


 

정리

명령어설명

npm init -y 프로젝트 초기화 (package.json 생성)
npm install 패키지명 패키지 설치
npm i 패키지명 -D 개발용 패키지 설치
npm uninstall 패키지명 패키지 삭제
npm list 설치된 패키지 확인
npm update 패키지 최신 버전으로 업데이트
npm run 스크립트명 package.json의 스크립트 실행
npm cache clean --force NPM 캐시 삭제
npm install -g 패키지명 글로벌 패키지 설치
npm uninstall -g 패키지명 글로벌 패키지 삭제

 

📌 NPM을 잘 관리하면 프로젝트를 안정적으로 유지할 수 있어! 🚀

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

Node.js 파일 업로드  (0) 2024.06.09
"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."