yarn berry λ κΈ°μ‘΄ yarn classic μ μ
κ·Έλ μ΄λ λ²μ μΌλ‘ , κΈ°μ‘΄ μ¬μ©λλ κ²κ³Όλ λ€λ₯Έ μλ‘μ΄ ν¨ν€μ§ κ΄λ¦¬μμ
λλ€. κΈ°μ‘΄μ κ°μ§κ³ μλ μ¬λ¬ λ¬Έμ μ λ€μ ν΄κ²°νκ³ , μλ‘κ² κ°λ₯ν΄μ§λ μ¬λ¬ κΈ°λ₯λ€μ΄ μΆκ°λμμ΅λλ€.
node_modules κ° κ°μ§κ³ μλ λͺ¨λ νμ κ³Όμ μ λΉν¨μ¨μ±, ghost dependency λ¬Έμ λ₯Ό pnpλ₯Ό ν΅ν΄μ ν΄κ²°ν μ μμ΅λλ€.
node_modules λμ μ¬μ©κ°λ₯νκ² λλ©΄μ , μ λ¬Έμ λ₯Ό ν΄κ²°νκ³ dependency κ΄λ¦¬λ₯Ό μ½κ² ν μ μλλ‘ λμμ€λλ€..yarn νμΌμ git μ μ
λ‘λ νμ¬ yarn install μ΄ νμμμ΄ μ§λλ€.ν¨ν€μ§ μμ‘΄μ±μ node_modules λ₯Ό μ¬μ©νμ§ μκ³ , .yarn λ΄λΆ νμΌμ μ μ₯νκ³ κ΄λ¦¬νλ λ°©μμΌλ‘ , .pnp.cjs νμΌ μμ μ΄λ€ λΌμ΄λΈλ¬λ¦¬μ μμ‘΄νκ³ μ΄λμ μμΉνλμ§ μ μ μλ λ°©λ²μ
λλ€. μ΄μ λ°λΌμ λ³΄λ€ μ μ μ©λμΌλ‘ dependency κ° κ΄λ¦¬λκ³ , κΈ°μ‘΄ node_modulesκ° κ°μ§κ³ μλ λ κ°μ§ λ¬Έμ μ μ΄ ν΄κ²° κ°λ₯ν΄μ§λλ€.
μ μ ν¨ν€μ§κ° 컀μ§κ² λλ©΄μ , λ³΄λ€ λ§μ λΌμ΄λΈλ¬λ¦¬κ° μ€μΉλλ©΄μ dependency μ κ°μκ° μ¦κ°νκ³ , yarn install μκ°λ μ μ μ€λκ±Έλ¦¬κ² λμ΄μ ν΄κ²°λ°©μμ μ°Ύλ μμ€μ λμ
νκ² λμμ΅λλ€. κΈ°μ‘΄μλ μμ μ μ κ°λ°μ²λΌ yarn install μ μ§ννκ³ κΈ°λ€λ¦¬λ μκ°μ΄ λ§μ΄ μμλλ° , pnp μ zero-install λμ
ν κ·Έ μκ°μ΄ λ§μ΄ μ€μ΄λ€μμ΅λλ€. λ€λ§ μ²μμ μ μ©νλλ° μκ°λ³΄λ€ μ λ³΄κ° μμ΄μ μ΄λ €μμ΄ λ§μ΄ μμλλ° , migration μ΄νμ μ¬μ©νλλ°λ ν¬κ² μ΄λ €μμ΄ μμμ΅λλ€. λν λΉλμκ°λ λ¨μΆλμ΄μ , 6λΆμ λ 걸리λ github action μ΄ 4λΆμ λλ‘ λ¨μΆλμλ κ²½νμ΄ μμ΅λλ€.
vite ννμ΄μ§ μ°Έκ³ ν΄μ κΈ°λ³Έ νλ‘μ νΈλ₯Ό μμ±νλ€.
shell
yarn create vite
κΈ°λ³Έ 컀맨λλ₯Ό μ
λ ₯νλ©΄ μ νμ°½μ΄ λμ€λλ° , νλμ© μνλ νμ
μ μ ννλ©΄ λλ€. μ¬κΈ°μλ κΈ°λ³Έμ μΈ React + Typescript λ₯Ό μ¬μ©ν΄μ λ§λ€μλ€.

shell
# yarn berry μ€μΉ
yarn set version berry
μ€μΉμλ£!
shell
# yarn version νμΈ
yarn --version
λ²μ νμΈ
μ€μΉκ° μλ£λλ©΄ μλμ κ°μ΄ νμΌμ΄ λ§λ€μ΄μ§λλ€. 
κ·Έ ν , μμ±λ .yarnrc.yml νμΌμ μλμ κ°μ΄ μΆκ°ν©λλ€.
yml
nodeLinker: pnp
enableScripts: false
nodeLinker : pnp μ node_modules μ€ μ΄λ€ λͺ¨λλ₯Ό μ νν μ§ μλ €μ€. κΈ°λ³Έκ°μ pnpenableScripts : zero-install μ μν΄ μΆκ°. λ€λ§ false λ‘ μΆκ°νλ€λ©΄ , .gitIgnore μ .yarn/unplugged λ₯Ό μΆκ°ν΄ μ£Όμ΄μΌν¨.μκΉμ§ μ§νν ν , μμ‘΄μ±μ μ€μΉνλ€.
shell
yarn install
κ·Έ ν , κΈ°λ³Έ App.tsx νμΌμ λ€μ΄κ°λ©΄ ..

μμ κ°μ΄ JSX.IntrinsicElements μλ¬κ° λ°μνλ€. ν΄λΉ μλ¬λ vscode ~~~~~
곡μλ¬Έμμμλ μλμ κ°μ΄ ν΄κ²°νκ³ μλ€.
shell
# vscode μ© νλ¬κ·Έμ
yarn dlx @yarnpkg/sdks vscode
ctrl + shift + p μ
λ ₯ ν
select typescript version μ
λ ₯
μ μμλ₯Ό λ°λ₯΄λ©΄ μλμ κ°μ μ¬μ§μ΄ λ±μ₯νλλ° ,

2λ²μ§Έ μμ
μμ λ²μ μ¬μ© μ ν΄λ¦νλ€. κ·Έλ¬λ©΄
μλ¬κ° μ¬λΌμ‘λ€ !
κ·Έ ν yarn dev λ₯Ό μμ νλ©΄ ..
μ§μ!
μ¬μ€ μ΄ κΈμμλ κΈ°μ΄μ μΈ μ€μ λ§ μΆκ°ν΄μ κ·Έλ κ² ν° μ΄λ €μμ μμμ§λ§ , κΈ°μ‘΄ νλ‘μ νΈλ₯Ό migration νλ κ³Όμ μμ pnpλ₯Ό μ μ©ν λ μ¬λ¬ dependency μ€λ₯κ° μμλ κΈ°μ΅μ΄ μλ€. κ·Έμ€μλ ν΄κ²°νμ§ λͺ»ν΄μ νλ¦° λμ νκ³ μ¨μ κΈ°μ΅λ μλλ° ,,, μΆν μμ νλ©΄μ μ€λ₯ λ° ν΄κ²°κ³Όμ λ μ¬κΈ°μ μΆκ°λ‘ μ λ‘λν κ³νμ λλ€.
yarn berry μ κ°μ₯ ν° μ₯μ μ yarn install yarn build μ κ΅μ₯ν μκ° λ¨μΆμ΄ λλ€λ μ μ
λλ€. μ¬μ€ νλ‘μ νΈκ° 컀μ§λ©΄ 컀μ§μλ‘ μ μ λ μ€λ 걸리기 λ§λ ¨μΈλ° , κ·Έ μκ°λ€μ λ¨μΆν΄ μ€λ€λ건 μμ°μ±κ³Όλ μ°κ²°λλ λΆλΆμ΄λΌ λ μλΏμλ κ² κ°μ΅λλ€.