4.17.20๋ฒ์ ๊ณผ 4.17.21๋ฒ์ ์ ๋ฌด์จ ์ฐจ์ด..? ์ ์์ ๋ฒ์ (SemVer)์ ๋ํด ์์๋ณด์ ๐
๐ ์ ์์ ๋ฒ์ (SemVer)
๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ํจํค์ง, ๋๋ ๋ค์ํ ํด๋ค์ ์ค์นํ ๋ ๊ฐ๋ ๋ค์ ์ซ์๊ฐ ๋ถ๋ ๊ฒ์ ๋ณผ ์ ์๋ค.
์ด๋ ์ ์์ ๋ฒ์ (Semantic Versioning) ์ผ๋ก ๋ฒ์ ์ ์๋ฏธ๋ฅผ ๋ถ์ฌํ์ฌ ๊ตฌ๋ถํ๋ ๊ฒ์ด๋ฉฐ ์ซ์์ ๋ง์นจํ๋ก ๊ตฌ๋ถํ๋ค. (ex. 4.17.20)
์ซ์๋ ์์๋๋ก Major.Minor.Patch ๋ฅผ ๋ํ๋ด๋ฉฐ ๋ค์๊ณผ ๊ฐ์ ์๋ฏธ๋ฅผ ๊ฐ์ง๊ณ ์๋ค.
- Major๋ ๊ธฐ์กด ๋ฒ์ ๊ณผ ํธํ๋์ง ์๋ ์๋ก์ด ๋ฒ์ ์ ๋ปํ๋ค.
- Minor๋ ๊ธฐ์กด ๋ฒ์ ๊ณผ ํธํ๋๋ ์๋ก์ด ๊ธฐ๋ฅ์ด ์ถ๊ฐ๋ ๋ฒ์ ์ ๋งํ๋ค.
- Patch๋ ๊ธฐ์กด ๋ฒ์ ๊ณผ ํธํ๋๋ ๋ฒ๊ทธ ๋ฐ ์คํ ๋ฑ์ด ์์ ๋ ๋ฒ์ ์ ๋งํ๋ค.
- ์บ๋ฟ๊ธฐํธ ^๋ Major ์์ ๋ถ๋๋ฐ Major ๋ฒ์ ์์์ ๊ฐ์ฅ ์ต์ ๋ฒ์ ์ผ๋ก ์ ๋ฐ์ดํธ ๊ฐ๋ฅํ๋ค๋ ์๋ฏธ์ด๋ค.
์๋ฅผ ๋ค์ด,
13.2.1์ 12.2.1์๋ ํธํ๋์ง ์๋ ์๋ก์ด ๋ฒ์ ์ด์ง๋ง, 13.3.1์ ํธํ๊ฐ๋ฅ ํ๋ฉด์๋ 13.2.1๋ณด๋ค ์๋ก์ด ๊ธฐ๋ฅ์ด ์ถ๊ฐ๋ ๋ฒ์ ์ด๋ผ ํ ์ ์๋ค.
13.2.2๋ 13.2.1๊ณผ ํธํ๋๋ฉด ๋ฒ๊ทธ๊ฐ ์์ ๋ ๋ฒ์ ์ด๋ผ ํ ์ ์๊ณ , ^13.2.1์ 13๋ฒ์ ์์๋ ๊ฐ์ฅ ์ต์ ๋ฒ์ ์ผ๋ก ์
๋ฐ์ดํธ ๊ฐ๋ฅํ๋ค๋ ๋ป์ด๋ค.
๐ lodash์ ๋ฒ์ ์ผ๋ก ์ข ๋ ์์ธํ ์์๋ณด์
vscode์์ ์ค์ ํจํค์ง lodash์ ๋ฒ์ ์ ์์๋ณด์ (์ค์น๋ ๋ฒ์ ์ ๋ค๋ฅผ ์ ์์)
- package.json ํ์ผ์ ์ด์ด๋ณด๋ฉด dependencies์์ lodash์ ๋ฒ์ ์ด ^4.17.21์ธ ๊ฒ์ ํ์ธํ ์ ์๋ค.
- ํฐ๋ฏธ๋์์ npm info lodash๋ฅผ ์ ๋ ฅํ๋ฉด latest: 4.17.21์ด ๋ณด์ด๋๋ฐ ์ค์น๋ ๋ฒ์ ๊ณผ ์ผ์นํจ์ผ๋ก lodash๊ฐ ๊ฐ์ฅ ์ต์ ๋ฒ์ ์์ ํ์ธํ ์ ์๋ค.
- ๊ทธ๋ฐ๋ฐ package.json์ ๋ช
์๋์ด ์๋ ๋ฒ์ ๊ณผ ์ค์ ๋ก ์ค์น๋ ๋ฒ์ ์ด ๋ค๋ฅผ ์ ์๋ค.
์ด๋ node_modules -> lodash -> package.json ํ์ผ์ ์ด์ด์ version (์ค์ ์ค์น๋ ๋ฒ์ )์ ํ์ธํ๋ฉด ๋๋ค.
๐ค ๋ฒ์ ์ ๋ฐ๊พธ๊ณ ์ถ๋ค๋ฉด?
๋ง์ฝ ํฐ๋ฏธ๋์์ npm install lodash@๋ค๋ฅธ๋ฒ์ (ex. npm install lodash@4.17.20)์ ํ๋ฉด package.json์ lodash์ lodash์ package.json์์๋ version์ด "^4.17.20"๋ก ๋ฐ๋์ด์ ธ ์๋ค.
๋ง์ฝ ์บ๋ฟ๊ธฐํธ ^๋ฅผ ์ง์ฐ๊ณ ์ ์ฅํ๋ฉด ํญ์ 4.17.20 ๋ฒ์ ์ ์ ์งํ๊ฒ ๋๋ฉฐ npm install lodash@4.17.21๋ฅผ ํ๋ฉด ์
๋ฐ์ดํธ๊ฐ ๋์ง ์๋๋ค.
์บ๋ฟ ๊ธฐํธ๊ฐ ๋ถ์ด ์์ผ๋ฉด ์ํฉ์ ๋ฐ๋ผ ํธ๋ฆฌํ ์ ์์ง๋ง ์ํ์ง ์๋ ์ต์ ๋ฒ์ ์ผ๋ก ์๋ ์
๋ฐ์ดํธ๊ฐ ๋ ์ ์๋ค๋ ๋จ์ ์ด ์๊ธฐ๋ ํ๋ค.
์บ๋ฟ ๊ธฐํธ๋ ์ค์นํ ๋ ์๋์ผ๋ก ๋ถ๊ธฐ๋, ์๋ถ๊ธฐ๋ ํ๋ค. ๋ฐ๋ผ์ ์ํฉ์ ๋ฐ๋ผ ๋ด๊ฐ ์ ์ ํ๊ฒ ํ์ฉํ๋ ๊ฒ์ด ํ์ํ๊ฒ ๋ค.