1. 개념
유의적 버전 = 의미가 있는 버전
(Semantic Versioning)
의미를 부여해서 해석하고 구분 가능.
숫자 구분방법 ^Major.Minor.Patch
(e.g. ^12.14.1)
12 = 기존 버전과 호환되지 않는 새로운 버전. 프로젝트 전혀 새로운 기능 도입 등
14 = 기존 버전과 호환되는 새로운 기능이 추가된 버전.
1 = 기존 버전과 호환되는 버그 및 오타 등이 수정된 버전.
버전을 일치시키는 것이 매우 중요하며, sem ver 규칙에 의거하여 프로젝트 진행.
^ = Major 버전 안에서 가장 최신 버전으로 업데이트 가능 (항상 붙어있는 것은 아님, carot 기호)
2. 실습 확인
(1) lodash 패키지 버전 확인
package.json에 적용한 lodash와, 실제로 프로젝트에 설치된 lodash가 버전이 다를 수 있음.
버전 확인방법
terminal
npm info lodash
입력 시 현재 설치된 lodash에 대해 설명 확인 가능
(2) lodash 다른 버전으로 변경 설치하기 (기존 설치된 파일에 덮어씌워짐)
terminal에서 다른 버전으로 설치하는 명령 입력
npm install lodash@4.17.20
(3) lodash를 신규 버전으로 업데이트 희망하는 경우
해당 명령어는 버전 설명 앞에 'carot(^)' 기호가 붙어있을 때만 가능.
(= 해당 프로그램의 업데이트를 허용한다는 의미, minor이하는 항상 신규버전으로 유지하겠다는 의미:minor, patch)
terminal
npm update lodash
(4) lodash 버전 업데이트 희망하지 않음 설정(minor 버전, patch버전) (no carot ^)
package.jason 파일에 표시된 lodash 버전 정보에서,
수동으로 carot 기호 제거
-> 설치 모델도 업데이트 되지 않음.
NPM 프로젝트의 버전 관리 (.gitignore)
npm install, run build등을 통해서 자동으로 만들어지는 패키지 폴더들은 따로 push해서 버전관리 할 필요 없음.
(.cash, dist, node-modules 폴더들)
>> npm i / npm install 통해서 자동으로 불러올 수 있음
because ; package.json/ package-lock.json에 버전명이 구체적으로 작성되어 있기 때문.
>>npm run build / npm run dev 통해서 .cash, dist폴더도 자동으로 재배치됨.
node.modules를 매번 버전관리로 업데이트 하면, 오히려 효율저하 (node.js에서 불러오는 것보다 훨씬 많은 용량이 네트워크상 왔다갔다해야함... git 부하)
>>>>따라서 git push할 때 업로드되지 않도록 git으로 버전관리하지않겠다는 명령 적용 필요.
방법
1) 루트 경로에 새로운 파일 생성
'.gitignore'
2) 관리 안할 파일명, 폴더명들을 내용에 작성
.cache/
dist/
node_modules/
3) 터미널 내 git init 통해 버전관리 시작하면, 다른 폴더/파일들은 git 버전관리 된다는 'u' 표시나타나고,
무시설정한 폴더/파일들은 변경 없음.
git init : 업데이트 표시 안 나타남
git status : 버전관리중인 파일/폴더들 리스트에 해당 폴더들 없음.
git add. : 버전 생성 시 마찬가지로 버전 추적 리스트에 안 나타남.
git commit -m 'flag' 이후, git hub repository 만들어서 버전관리해도 업데이트 안 됨!
'개발 공부 > Front-end study log' 카테고리의 다른 글
[JavaScript] 데이터타입 확인+ 함수 export/import (0) | 2021.08.15 |
---|---|
[JavaScript] 개요 (0) | 2021.08.08 |
[Node JS] NVM, NPM + 예제 (1) (0) | 2021.08.05 |
Markdown 마크다운 (0) | 2021.06.27 |
git 프로젝트 복제 / 버전관리 / 신규환경 접속 / 충돌 문제 해결 (0) | 2021.06.27 |