Yarn Berry๋ก React Native ํ๋ก์ ํธ๋ฅผ ๊ด๋ฆฌํด๋ณด์.
https://dev-yakuza.posstree.com/ko/react-native/install-on-mac/
๊ธฐ๋ณธ์ ์ผ๋ก ์ ๊ธ์ ์ฐธ๊ณ ํ๋ค. Yarn Berry๋ผ๋ ํน์์ฑ์ด ๋ํด์ก์ ๋ฟ์ด๋ค.. ๐ซ
๐ซ Yarn Berry ๊ฐ๋ตํ๊ฒ ์ดํดํ๊ธฐ
- Yarn 2.0 ์ดํ๋ถํฐ Yarn Berry๋ผ๊ณ ์ง์นญํ๋ค.
- Plug'N'Play(PnP) ๋ผ๋ ๋ฐฉ์์ ์ฌ์ฉํ๋ค.
node_modules
ํด๋ ๋์.yarn/cache
ํด๋์.pnp.cjs
๋ฅผ ์ฌ์ฉํ๋ค.- ๋ด ํ๋ก์ ํธ๊ฐ Yarn Berry๋ก ๊ด๋ฆฌ๋๊ณ ์๋์ง๋ฅผ ํ์ธํ๊ธฐ ์ํด์๋,
.yarn/cache
ํด๋๊ฐ ์๋์ง ํ์ธํ๋ฉด ๋๋ค. ๊ทธ ์์ ์์กด์ฑ๋ค์ด zip ํ์์ผ๋ก ์ ์ฅ๋์ด ์๋ค.
โ Yarn Berry PnP๊ฐ React Native์ ํธํ๋์ง ์๋ ๋ฌธ์
Yarn ๊ณต์ ์ฌ์ดํธ์ Compatibility Table์ ํ์ธํด๋ณด๋ฉด, React Native๋ PnP ๋ฐฉ์๊ณผ ํธํ์ด ๋์ง ์๋๋ค๋ ๊ฒ์ ํ์ธํ ์ ์๋ค. ์ด ๊ฒฝ์ฐ node_modules ํ๋ฌ๊ทธ์ธ์ ์ฌ์ฉํด์ผ ํ๋ค๊ณ ๋ช ์๋์ด ์๋ค. ์ฐธ๊ณ ๋ก PnP ๋ฐฉ์๊ณผ ํธํ์ด ๋์ง ์๋ ์ด์ ๋ React Native๊ฐ node_modules์ ๊ตฌ์กฐ์ ๋ง์ด ์์กดํ๊ธฐ ๋๋ฌธ์ด๋ผ๊ณ ํ๋ค.
โ node_modules plugin ์ฌ์ฉํ๊ธฐ
node_modules
ํด๋ ๋์ .yarn/cache
์ .pnp.cjs
๋ฅผ ์ฌ์ฉํ๋ Yarn Berry์์, ๊ธฐ์กด node_modules
๋ฐฉ์์ ์ฌ์ฉํ ์ ์๊ฒ ํด์ฃผ๋ ํ๋ฌ๊ทธ์ธ์ด๋ค. ์ ์ฉ ๋ฐฉ๋ฒ์ ๊ฐ๋จํ๋ค.
yarn install
์ด์ ์ ํ๋ก์ ํธ ์ต์๋จ์ .yarnrc.yml
ํ์ผ์ ์์ฑํ๋ค. ํ์ผ ์์๋ ๋ค์ ๋ด์ฉ์ ์์ฑํ๋ค.
nodeLinker: node-modules
ํด๋น ์ค์ ์ผ๋ก ์ธํด, Yarn Berry ์ด์ ์ ๋ฐฉ์๋๋ก ํ๋ก์ ํธ๋ฅผ ์ค์นํ๊ฒ ๋๋ค. ๊ฒฐ๊ณผ๋ ๋ค์๊ณผ ๊ฐ๋ค.
๊ฒฐ๊ณผ์ ์ผ๋ก ๋ค์ ๋ค ๊ฐ์ง๊ฐ ํ๋ก์ ํธ ํด๋ ๋ด์ ์กด์ฌํ๋ค.
- .yarn/cache ํด๋
- node_modules ํด๋
- yarn.lock ํ์ผ
- package.json ํ์ผ
๐คท๐ปโ๏ธ Zero-Install ์?
๋ด๊ฐ ๊ถ๊ธํ๋ ์ ์ node_modules ํ๋ฌ๊ทธ์ธ ์ฌ์ฉ ์์๋ Zero-Install์ด ์ ์ฉ๋ ์ ์๋์ง์๋ค. ์ฐธ๊ณ ๋ก Zero-Install์ด๋, Yarn Berry์์ ์์กด์ฑ์ ๋ฒ์ ๊ด๋ฆฌ์ ํฌํจํ๋ ๊ฒ์ ๋ปํ๋ค. ๊ฒฐ๋ก ์ ์ผ๋ก ์ด์ผ๊ธฐํ์๋ฉด ๊ฐ๋ฅํ๋ค๊ณ ํ๋ค.
(๋ฒ์ญํ์๋ฉด) yarn install ์ .yarn/cache๋ฅผ ์ฒดํฌํด์ node_modules ํด๋๋ฅผ ์์ฑํ๋ค. ์์กด์ฑ์ ์๋ก ๋ค์ด ๋ฐ๋ ๊ฑด ์๋๊ธฐ ๋๋ฌธ์(there's not network fetching) ์์ PnP์ ๋น๊ตํ์ ๋ ์๊ฐ ์ฐจ์ด๋ ํฌ์ง ์๋ค.
๊ทธ๋์ ๊ธฐ์กด๊ณผ ๋์ผํ๊ฒ .yarn/cache๋ Github์ ์ฌ๋ฆฌ๊ณ , node_modules๋ gitignore์ ์ถ๊ฐํ๋ค.
References
PnP compatibility table
react-native-community : yarn PnP ์ง์ ๊ด๋ จ issue
How to use Yarn 3 with React Native
'React' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
ํ๋ก์ ํธ ์ค์บํด๋ฉ ๊ธฐ๋ก ๐ธ (0) | 2022.10.18 |
---|---|
eslint ํ๋ฌ๊ทธ์ธ ์ข ๋ฅ, ์ด ์ ๋ฆฌ (1) | 2022.10.15 |
๋ชจ๋ํ์ ๊ฐ๋ ๋ถํฐ Yarn Berry๊น์ง (0) | 2022.10.10 |
npm, yarn, pnpm์ ์ฐจ์ด์ ์ ๋น๊ตํด๋ณด์ (0) | 2022.09.26 |
Context API ์ ๋๋ก ์ดํดํ๊ธฐ (1) | 2022.09.22 |