Caret vs Tilde in package.json
๊ถ๊ธํ๋ ๋ด์ฉ์ ์ ๋ฆฌํด์
Reference: blog.outsider.ne.kr
tilde (~)
: Approximately equivalent to version
ํ์ฌ ์ง์ ํ version์ ๋ง์ง๋ง ์๋ฆฌ ๋ด์ ๋ฒ์์์๋ง ์๋์ผ๋ก update ํ๋ค
npm install MODULE_NAME --save๋๋npm install MODULE_NAME --save-dev๋ฅผ ์ฌ์ฉํ๋ฉด ์๋์ผ๋ก package.json ์ ์์กด์ฑ์ ์ถ๊ฐํ ์ ์๋๋ฐ ๊ทธ๋ ๊ธฐ๋ณธ๊ฐ์ผ๋ก ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ด tilde(~) ๋ฐฉ์์ด๋คex)
~0.0.1:>=0.0.1 <0.1.0~0.1.1:>=0.1.1 <0.2.0~0.1:>=0.1.0 <0.2.0~0:>=0.0 <1.0
๋ค์ํ ๋ฐฉ์์ผ๋ก version์ ๋ช ์ํ์ ๋ ์์ ๊ฐ์ ๋ฒ์ ๋ด์์ ์๋์ผ๋ก updateํ๋ค
caret (^)
: Compatible with version
Caret์ ์ค๋ช ํ๊ธฐ ์ํด์๋ ๋จผ์ Semantic Versioning (SemVer) ์ ์์์ผ ํ๋ค
Node.js๋ฅผ ๋น๋ฆํ npm module์ ๋ชจ๋
SemVer๋ฅผ ๋ฐ๋ฅด๊ณ ์๋ค
npm version์ ์๋ฏธ
Caret(
^)์ Node.js module์ดSemVer๋ฅผ ๋ฐ๋ฅธ๋ค๋ ๊ฒ์ ์ ๋ขฐํ๋ค๋ ๊ฐ์ ํ์ ๋์ํ๋ค๊ทธ๋์ MINOR๋ PATCH version์ ํ์ ํธํ์ฑ์ด ๋ณด์ฅ๋์ด์ผ ํ๋ฏ๋ก update๋ฅผ ํ๋ค
ex)
^1.0.2:>=1.0.2 <2.0^1.0:>=1.0.0 <2.0^1:>=1.0.0 <2.0
Tilde์ ๋น๊ตํด๋ณด๋ฉด ์ฐจ์ด์ ์ ๋ช ํํ๋ฐ
1.x.x๋ด์์๋ ํ์ ํธํ์ฑ์ด ๋ณด์ฅ๋๋ฏ๋ก ๊ทธ ๋ด์์๋ ๋ชจ๋ update ํ๊ฒ ๋ค๋ ์๋ฏธ์ด๋ค
Wrap-up
~versionApproximately equivalent to version
MINOR version์ ์ฆ๊ฐ ์์ด, ๋ฏธ๋์ PATCH๋ฅผ update ํ๋ค
ex)
~1.2.3: will use releases from1.2.3to<1.3.0
^versionCompatible with version
MAJOR version์ ์ฆ๊ฐ ์๋, ๋ฏธ๋์ MINOR/PATCH๋ฅผ update ํ๋ค
ex)
^2.3.4: will use releases from2.3.4to<3.0.0
Last updated