๐งฉ ๋ฌธ์ ์ํฉ
ํ๋ก์ ํธ๋ฅผ ์ด๊ธฐ์๋ ๊ฐ์ฅ ๋ณดํธ์ ์ผ๋ก ์ฌ์ฉ๋๋ npm์ ๊ธฐ๋ณธ ํจํค์ง ๋งค๋์ ๋ก ๊ตฌ์ฑํ์๋ค.
๋ํ, TypeScript, TailwindCSS, React Query ๋ฑ ๋ค์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ํจ๊ป ์ฌ์ฉํ๋ฉฐ ๊ฐ๋ฐ์ ์ด์ด๊ฐ๋ค.
๊ทธ๋ฌ๋ ๊ธฐ๋ฅ์ด ์ ์ฐจ ํ์ฅ๋๊ณ ์์กด์ฑ์ด ๋ง์์ง์๋ก, ์๋์ ๊ฐ์ ๋ฌธ์ ์ ๋ฐ๋ณต์ ์ผ๋ก ์ง๋ฉดํ๊ฒ ๋์๋ค.
๐พ npm install ์คํ ์, 20์ด ์ด์ ์์๋๋ ๋๋ฆฐ ์ค์น ์๋
๐พ node_modules ๋๋ ํ ๋ฆฌ์ ์ง์์ ์ธ ์ฉ๋ ์ฆ๊ฐ
๐พ ์์กด์ฑ ๊ฐ ์ถฉ๋๋ก ์ธํ npm install ์คํจ ๋ฐ Cannot find module ์ค๋ฅ ๋ฐ์
๐พ CI ํ๊ฒฝ์์์ ๋น๋ ์๊ฐ ์ฆ๊ฐ ๋ฐ ๋ถ์์ ํ ์บ์ ์ฒ๋ฆฌ
์ด๋ฌํ ๋ฌธ์ ๋ค์ ๋จ์ํ ๋ถํธํจ์ ๋์ด์
๊ฐ๋ฐ ์๋ ์ ํ๋ก ์ด์ด์ก๋ค.
๐ ์์ธ ๋ถ์
์ฒ์์๋ ๋จ์ํ "์ฌ์ฉํ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ๋ง์์ ๊ทธ๋ฐ๊ฐ ๋ณด๋ค" ๋ผ๊ณ ์๊ฐํ์ง๋ง,
๋ฌธ์ ์ ๋ณธ์ง์ ์ ํํ ํ์ ํ๊ธฐ ์ํด ์ง์ ๊ตฌ์กฐ๋ฅผ ๋ถ์ํ๊ณ ์์ธ์ ์ถ์ ํด๋ณด์๋ค.
1๏ธโฃ node_modules ๊ตฌ์กฐ์ ๋นํจ์จ์ฑ
npm์ ๋ชจ๋ ์์กด์ฑ์ ๋๋ ํ ๋ฆฌ ๊ตฌ์กฐ๋ก ๋ณต์ ํ์ฌ ์ค์นํ๋๋ฐ,
์ด ๊ณผ์ ์์ ์ค๋ณต๋ ๋ฒ์ ์ ํจํค์ง๋ค์ด ์ค์ฒฉ๋ ๊ตฌ์กฐ๋ก ์ค์น๋๋ฉฐ,
๊ฒฐ๊ณผ์ ์ผ๋ก ๋น์ ์์ ์ผ๋ก ๊น์ ํธ๋ฆฌ ๊ตฌ์กฐ์ ๋์คํฌ ๋ญ๋น๊ฐ ๋ฐ์ํ๋ค.
2๏ธโฃ ๋์คํฌ ๊ธฐ๋ฐ ํ์ ๋ฐฉ์์ ํ๊ณ
ํ๋ก์ ํธ์์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ import๋ require ํ ๋,
ํจํค์ง ๋งค๋์ ๋ node_modules ๋๋ ํ ๋ฆฌ๋ฅผ ์์๊น์ง ์ํํ๋ฉฐ ํด๋น ๋ชจ๋์ ์ฐพ๊ธฐ ๋๋ฌธ์
์ด ๊ณผ์ ์ ํ์ผ ์์คํ ์ ๋ํ ๋ฐ๋ณต์ ์ธ ์ ๊ทผ์ ๋ฐ์์ํค๋ฉฐ,
๊ฒฐ๊ณผ์ ์ผ๋ก ๋์คํฌ I/O ๋น์ฉ์ ์ฆ๊ฐํ๊ณ , ์ค์น ์๋๊ฐ ์ ํ๋๋ ์ฃผ์ ์์ธ์ด ๋๋ค.
3๏ธโฃ ์บ์ ๋ฐ ์ฌ์ค์น์ ๋นํจ์จ์ฑ
package-lock.json์ด ์กด์ฌํ๋๋ผ๋, ์์ ๋ณ๊ฒฝ์ด ์๊ธฐ๋ฉด ์ ๋ถ ๋ค์ ๋ค์ด๋ก๋ํด์ผ ํ๋ฉฐ,
CI์์๋ ์ข ์ข lock ํ์ผ ์ถฉ๋ ํน์ ์บ์ ๋๋ฝ์ผ๋ก ์ธํด npm install์ด ์คํจํ๊ธฐ๋ ํ๋ค.
๐ ํด๊ฒฐ ์๋: PNPM์ผ๋ก ๋ณ๊ฒฝ
๋ฌธ์ ํด๊ฒฐ์ ์ํด ๋ค์ํ ๋์์ ๊ฒํ ํ ๋์ pnpm์ ๋์ ํ๊ธฐ๋ก ๊ฒฐ์ ํ๋ค.
pnpm์ ํ๋๋งํฌ ๊ธฐ๋ฐ์ผ๋ก ํจํค์ง๋ฅผ ์ค์นํ๊ธฐ์
๋์คํฌ ๊ณต๊ฐ์ ํจ์จ์ ์ผ๋ก ์ฌ์ฉํ๊ณ ,
์ค์น ์๋๋ฅผ ๋น์ฝ์ ์ผ๋ก ํฅ์์์ผ์ฃผ๋ ๋ฐฉ์์ด๊ธฐ ๋๋ฌธ์ด๋ค.
๋ง์ด๊ทธ๋ ์ด์ ๊ณผ์ ์ ๊ฐ๋จํ๋ค.
๐๐ป ๊ธฐ์กด์ package-lock.json ๋ฐ node_moduels ์ ๊ฑฐ
๐๐ป pnpm install ๋ช ๋ น์ด๋ก package.json์ pnpm-lock.yaml๋ก ๋ณํ
๐๐ป CI ํ๊ฒฝ์์๋ actions/setup-pnpm ์ก์ ์ถ๊ฐ ๋ฐ ์บ์ ์ ๋ต ์์
์ ์ฒด ๋ง์ด๊ทธ๋ ์ด์ ์ ํฐ ๋ณ๊ฒฝ ์์ด ๋น๊ต์ ๊ฐ๋จํ๊ฒ ์งํ๋์์ผ๋ฉฐ,
๊ธฐ์กด package.json ๊ตฌ์กฐ๋ฅผ ๊ทธ๋๋ก ์ ์งํ ์ ์์ด์
์์ ์ ์ผ๋ก ์ ์ฉํ ์ ์์๋ค.
'๐ป ํ๋ก์ ํธ > ๐ ํธ๋ฌ๋ธ์ํ ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| [ํธ๋ฌ๋ธ์ํ ] ์ค์๊ฐ ์๋ฆผ ์ ์กํ๊ธฐ (1) | 2025.07.07 |
|---|---|
| [ํธ๋ฌ๋ธ์ํ ] Jest -> Vitest ๋ง์ด๊ทธ๋ ์ด์ ๋ฐฉ๋ฒ (0) | 2025.07.05 |
| [ํธ๋ฌ๋ธ์ํ ] TypeScript์์ CSS / ์ด๋ฏธ์ง import ์ ์ค๋ฅ ๋ฐ์ (0) | 2025.06.14 |
| [ํธ๋ฌ๋ธ์ํ ] GitHub Actions์์ vite: not found ์ค๋ฅ ํด๊ฒฐ (0) | 2025.05.23 |