일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- motion.div
- Promise
- react-native-permissions
- CS
- await
- react native
- RN업데이트
- rn
- Hash-table
- react-native
- React-Native업데이트
- react-native-image-picker
- hydration mismatch
- react animation
- RN아키텍쳐
- react
- private-access-to-photos
- debounce
- axios
- ios
- no-permission-handler-detected
- RN새로운아키텍쳐
- named type
- Throttle
- Swift
- javascript
- async
- animation
- 비동기
- promise.all
- Today
- Total
하루살이 개발일지
npm install -E의 의미에 대하여 본문
npm install -E란?
npm install -E 또는 npm install --save-exact 명령어는 npm 패키지를 설치할 때 사용하는 옵션 중 하나이다. 이 옵션을 사용하면 패키지의 정확한 버전을 저장한다.
Semantic Versioning 이란?
Semantic Versioning, 또는 SemVer는 npm이 패키지의 버전을 관리하기 위해 사용하는 버전 체계이다.
SemVer는 일반적으로 MAJOR.MINOR.PATCH 형식으로 표현되며, 각 부분은 다음과 같은 의미를 가진다:
- MAJOR: 주요한 변경 사항이 있을 때 증가한다 (예: 호환성이 없는 변경이 포함됨)
- MINOR: 이전 버전과 호환되면서 새로운 기능이 추가될 때 증가한다.
- PATCH: 이전 버전과 호환되면서 버그 수정이 이루어질 때 증가한다.
npm install의 기본 동작
npm을 사용하여 패키지를 설치하면, 기본적으로 ^ (caret) 또는 ~ (tilde)와 같은 Semver 범위 연산자를 사용하여 package.json 파일에 종속성이 저장된다. 이 연산자들은 특정 버전 범위 내에서 업데이트를 허용한다, 예를 들어:
- ^1.2.3은 1.2.3 이상, 2.0.0 미만의 버전을 허용한다.
- ~1.2.3은 1.2.3 이상, 1.3.0 미만의 버전을 허용한다.
npm install -E의 특성
npm install -E 명령어를 사용하면, package.json 파일에 종속성을 정확한 버전으로 저장한다. 이는 Semver 범위 연산자를 사용하지 않고, 패키지를 특정 버전에 "고정"한다.
예를 들어, npm install express -E 명령어를 실행하면, express 패키지의 현재 버전이 정확하게 package.json 파일에 저장된다. 이 후 다른 개발자가 프로젝트를 클론하고 npm install을 실행하면, 동일한 버전의 express 패키지를 설치하게 된다.
이렇게 함으로써 버전 차이로 인한 예기치 않은 버그나 호환성 문제를 방지하고, 모든 개발자와 환경이 동일한 패키지 버전을 사용하게 할 수 있다.
사용 사례
- 프로젝트의 안정성: 프로젝트에서 특정 버전의 패키지가 필요한 경우, 이 옵션을 사용하여 그 버전에 종속성을 고정할 수 있다.
- 팀 작업: 팀원 모두가 동일한 패키지 버전을 사용하여 호환성 문제를 방지할 수 있다.
이 명령어를 사용하면 개발 환경의 일관성을 유지하고, 프로젝트의 안정성을 향상시킬 수 있다.
'웹개발' 카테고리의 다른 글
프론트엔드 아키텍처 패턴의 진화 (1) | 2025.04.22 |
---|