종속성 관리는 현대 개발 워크플로, 특히 JavaScript 기반 프로젝트에서 중요한 부분입니다. NPM(Node Package Manager)은 이 프로세스를 단순화하지만 버전 관리 시스템을 이해하는 것이 안정적이고 안전한 애플리케이션을 유지하는 데 중요합니다.
이 블로그에서는 NPM 버전 관리에 대해 자세히 알아보고 구문, 모범 사례, 실제 애플리케이션을 설명하겠습니다. 결국에는 프로젝트의 종속성을 자신있게 관리할 수 있게 됩니다.
NPM 버전 관리는 패키지의 기본 변경 사항에 대한 의미를 전달하도록 설계된 시스템인 Semantic Versioning(SemVer)을 기반으로 합니다.
NPM의 버전 번호는 다음 형식을 따릅니다.
MAJOR.MINOR.PATCH
1.4.2
올바른 버전 관리에 도움이 됩니다.
package.json에서 종속성을 정의할 때 버전 범위에 따라 프로젝트에서 허용할 수 있는 패키지 버전이 결정됩니다.
정확한 버전
캐럿(^)
물결표(~)
와일드카드(*)
범위 연산자
프로젝트에서 다양한 버전 관리 전략을 사용하는 방법은 다음과 같습니다.
{ "dependencies": { "express": "^4.17.1", // Allows updates up to <5.0.0 "lodash": "~4.17.21", // Allows updates up to <4.18.0 "axios": "0.21.1" // Installs exactly this version } }
결과:
익스프레스 패키지는 4.x.x 범위의 모든 호환 버전으로 업데이트됩니다.
lodash는 4.17.x 버전 내에서 업데이트됩니다.
axios는 버전 0.21.1로 유지됩니다.
npm install 명령을 사용하면 버전 관리 동작을 직접 제어할 수 있습니다.
npm install lodash@4.17.20
결과: lodash 버전 4.17.20을 설치합니다.
npm install lodash@^4.17.0
결과: 4.x.x 범위의 최신 버전을 설치합니다.
package-lock.json 파일은 설치된 정확한 버전을 잠가서 환경 전반에 걸쳐 일관된 종속성 버전을 보장합니다.
예기치 않은 버전 불일치를 방지합니다.
종속성 트리의 스냅샷을 제공합니다.
안전하다고 알려진 버전에 대한 종속성을 잠궈 보안을 강화합니다.
기본적으로 캐럿(^) 사용
와일드카드(*) 사용을 피하세요
정기 업데이트
버전 관리 도구 활용
npm install -g npm-check-updates ncu -u npm install
업데이트 후 테스트
피어 종속성은 프로젝트에 포함되어야 하는 다른 패키지의 특정 버전에 패키지가 종속될 때 사용됩니다.
{ "peerDependencies": { "react": "^17.0.0" } }
행동:
NPM은 피어 종속성을 자동으로 설치하지 않습니다. 프로젝트에 수동으로 추가해야 합니다.
오래된 종속성으로 인해 취약점이 발생할 수 있습니다. 보안을 보장하려면 다음 단계를 따르세요.
취약점 확인
npm audit
문제 자동 해결
npm audit fix
종속성 상태 모니터링
패치 업데이트 무시
최신 버전을 버전으로 사용
종속성 업데이트를 검토하지 않음
Semantic Versioning을 기반으로 하는 NPM 버전 관리는 JavaScript 프로젝트의 종속성을 관리하는 데 필수적인 기술입니다. 버전 범위, 모범 사례 및 도구를 이해하면 더욱 안정적이고 안전하며 유지 관리가 가능한 애플리케이션을 만들 수 있습니다.
이러한 관행을 통해 위험을 최소화하고 공동 작업을 개선하며 프로젝트를 원활하게 진행할 수 있습니다.
오늘부터 NPM 버전 관리를 마스터하고 프로젝트의 종속성을 관리하는 방법을 변화시키세요!
위 내용은 NPM package.json에서 버전 관리가 작동하는 방식 알아보기의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!