failed to resolve entry for package monorepo

2024. 1. 23. 01:05Β· React
λͺ©μ°¨
  1. λͺ¨λ…Έλ ˆν¬ λ„μž…
  2. Monorepo λΉŒλ“œ 도ꡬ 
  3. 폴더 ꡬ쑰 
  4. μ—λŸ¬
  5. ν•΄κ²°
  6. μΆ”κ°€ 
  7. Reference

λͺ¨λ…Έλ ˆν¬ λ„μž…

μ§€κΈˆ νšŒμ‚¬ ν”„λŸ°νŠΈ νŒ€μ˜ ν”„λ‘œμ νŠΈλŠ” μ›λž˜λŠ” 도메인 λ©”λ‰΄λ³„λ‘œ λ‚˜λˆ„μ–΄μ„œ λ©€ν‹°λ ˆν¬ Multi repo λ°©μ‹μœΌλ‘œ κ°œλ°œμ„ ν–ˆμ—ˆλ‹€. 즉 κ°œλ°œμžλ§ˆλ‹€ λ ˆν¬μ§€ν† λ¦¬λ₯Ό ν•˜λ‚˜ν•˜λ‚˜ λ”°λ‘œ κ΄€λ¦¬ν•΄μ„œ κ°œλ°œν–ˆμ—ˆκ³ , νŒ€μ›λΌλ¦¬ λ˜‘κ°™μ€ uiλ₯Ό κ°œλ°œν•œλ‹€κ³  ν•˜μ—¬λ„ μ €μž₯μ†Œκ°„μ— μ»¨ν…μŠ€νŠΈ κ³΅μœ κ°€ μ–΄λ €μ›Œμ„œ 개개인 κ°μžκ°€ κ΄€λ¦¬ν•˜λŠ” λ ˆν¬μ§€ν† λ¦¬ λ‚΄λΆ€μ—μ„œ λ˜‘κ°™μ€ uiλ₯Ό μ€‘λ³΅ν•΄μ„œ κ°œλ°œν•˜κΈ°λ„ ν–ˆλ‹€. 

그런데 이제 μ—¬λŸ¬κ³³μ—μ„œ μ€‘λ³΅μœΌλ‘œ μ‚¬μš©ν•˜λŠ” μ½”λ“œλ₯Ό κ³΅μœ ν•΄μ„œ μž¬μ‚¬μš©μ„±μ„ 높이고 ν•˜λ‚˜μ˜ μ½”λ“œλ² μ΄μŠ€μ—μ„œ λͺ¨λ“  ν”„λ‘œμ νŠΈμ˜ μ½”λ“œμ™€ μžμ›μ„ κ΄€λ¦¬ν•˜μ—¬ μ„œλ‘œμ˜ 관계와 μ˜μ‘΄μ„±μ„ μ‰½κ²Œ νŒŒμ•…ν•  수 μžˆλ„λ‘ λͺ¨λ…Έλ ˆν¬ ν™˜κ²½μ„ κ΅¬μΆ•ν–ˆλ‹€. 

λͺ¨λ…Έλ ˆν¬ ν™˜κ²½μ—μ„œ 처음 κ°œλ°œν•˜λ©΄μ„œ ν”„λ‘œμ νŠΈ 싀행이 μ•ˆλ λ•Œκ°€ μžˆμ—ˆλŠ”λ° μ΄λ•Œ λ§ˆμ£Όν•œ μ—λŸ¬λ₯Ό μ •λ¦¬ν•œλ‹€. 

 

Monorepo λΉŒλ“œ 도ꡬ 

Turborepo 

 

폴더 ꡬ쑰 

πŸ“¦ monorepo root folder
 β”£ πŸ“œpackage.json
 β”ƒ πŸ“¦ apps
 β”ƒ β”£ πŸ“‚ app1
 β”ƒ β”ƒ β”£ πŸ“‚public
 β”ƒ β”ƒ β”£ πŸ“‚src
 β”ƒ β”ƒ β”£ πŸ“œpackage.json
 β”ƒ β”£ πŸ“‚ app2
 β”ƒ β”ƒ β”£ πŸ“‚public
 β”ƒ β”ƒ β”£ πŸ“‚src
 β”ƒ ┃ ┣ πŸ“œpackage.json
 β”ƒ πŸ“¦ packages
 β”ƒ β”£ πŸ“‚ package1
 β”ƒ β”ƒ β”£ πŸ“‚src
 β”ƒ β”ƒ β”— πŸ“œpackage.json
 β”—  ...

 

μš°λ¦¬νŒ€μ€ ν”„λ‘œμ νŠΈ λ³„λ‘œ μž¬μ‚¬μš©ν•˜κΈ° 쉽도둝 λ””μžμΈ μ‹œμŠ€ν…œ themeμ΄λ‚˜ 인증 κ΄€λ ¨ 둜직 authλ₯Ό internal νŒ¨ν‚€μ§€λ‘œ κ°œλ°œν•˜μ—¬ κ΄€λ¦¬ν•˜κ³  μžˆλ‹€. 

 

apps>package.json

μ΅œμƒμœ„ ν”„λ‘œμ νŠΈμ˜ package.json 파일

"scripts": {
"build": "turbo run build",
"dev": "turbo run dev",
"lint": "turbo run lint",
"test": "turbo run test",
"test:watch": "turbo run test:watch",
"format": "prettier --write \"**/*.{ts,tsx,md}\""
},

 

apps>app1>package.json

각 ν”„λ‘œμ νŠΈ 파일의 package.json은 μ•„λž˜μ™€ κ°™λ‹€ 

"scripts": {
"dev": "vite",
"build": "vite build -m prod",
"preview": "vite preview",
"test": "jest --passWithNoTests",
"stage": "vite -m stage",
"lint": "tsc && eslint . --ext ts,tsx --report-unused-disable-directives",
"msw": "npx msw init ./public --save"
},

 

 

ν‰μ†ŒλŒ€λ‘œ npm run dev둜 rootν•˜μœ„μ— μžˆλŠ” κ°œλ³„ apps1 ν”„λ‘œμ νŠΈλ₯Ό λ„μš°λ €κ³  ν–ˆλ‹€. 

그런데 이런 μ—λŸ¬λ©”μ‹œμ§€λ₯Ό λ§ˆμ£Όν–ˆλ‹€. 

 

μ—λŸ¬

Failed to resolve entry for package "λ‚΄λΆ€ νŒ¨ν‚€μ§€ 이름" 

Failed to resolve entry for package "λ‚΄λΆ€ νŒ¨ν‚€μ§€ 이름". The package may have incorrect main/module/exports specified in its package.json. [plugin vite:dep-scan]

 

 

μ΅œμƒμœ„ root둜 κ°€μ„œ npm run devλ₯Ό 쳐도 해결은 μ•ˆλ˜μ—ˆλ‹€.

μ—λŸ¬ λ©”μ‹œμ§€λŠ” μ•„λž˜μ™€ κ°™μ•˜λ‹€.

ERROR  run failed: error preparing engine: Invalid persistent task configuration:
You have 11 persistent tasks but turbo is configured for concurrency of 10. Set --concurrency to at least 12

 

 

 

ν•΄κ²°

rootμ—μ„œ buildλ₯Ό ν•΄μ•Ό ν•΄κ²° λ˜μ—ˆλ‹€! 

λͺ¨λ…Έλ ˆν¬ 내뢀에 κ³΅ν†΅μœΌλ‘œ κ³΅μœ ν•˜μ—¬ μ‚¬μš©ν•˜λŠ” νŒ¨ν‚€μ§€λ“€μ΄ λΉŒλ“œκ°€ μ•ˆλ˜μ–΄μ„œ μƒκΈ°λŠ” 였λ₯˜μ˜€λ‹€. κ°œλ³„ apps ν”„λ‘œμ νŠΈμ— νŒ¨ν‚€μ§€κ°€ μ„€μΉ˜λ˜μ—ˆμ–΄λ„ νŒ¨ν‚€μ§€λ₯Ό λΉŒλ“œν•˜μ§€ μ•ŠμœΌλ©΄ κ·Έ νŒ¨ν‚€μ§€κ°€ λ²ˆλ“€λ§λ˜μ§€ μ•Šμ•˜κΈ° λ•Œλ¬Έμ— μ‚¬μš©ν•  μˆ˜κ°€ μ—†λ‹€. 

λ”°λΌμ„œ νŒ¨ν‚€μ§€ κ°œλ°œμ‹œμ—λ„ νŒ¨ν‚€μ§€μ— μƒˆλ‘œμš΄ μ—…λ°μ΄νŠΈ 사항을 κ°œλ°œν–ˆμ„ λ•Œ, λ‹€λ₯Έ ν”„λ‘œμ νŠΈμ—μ„œ κ·Έ νŒ¨ν‚€μ§€μ˜ μ΅œμ‹  μ—…λ°μ΄νŠΈ 사항을 λ°˜μ˜ν•˜κ³  μ‹Άλ‹€λ©΄ ν•΄λ‹Ή νŒ¨ν‚€μ§€λ₯Ό λΉŒλ“œν•΄μ•Όμ§€λ§Œ λ‘œμ»¬μ—μ„œλ„ μ΅œμ‹  사항이 반영된 νŒ¨ν‚€μ§€λ‘œ κ°œλ°œν•  μˆ˜κ°€ μžˆλ‹€.

 

 

μΆ”κ°€ 

이후에 λ§ˆμ£Όν•œ μ—λŸ¬

No matching export in "νŒ¨ν‚€μ§€ λ‚΄λΆ€ 파일 경둜" for import "νŒ¨ν‚€μ§€ λͺ¨λ“ˆμ΄λ¦„"

 

 

μ—λŸ¬ λ°œμƒν•œ 파일

apps>app1>src>App.tsx

 

app1λ₯Ό npm run dev둜 μ‹€ν–‰ν•˜λŠ”λ°, app1의 App.tsx νŒŒμΌμ—μ„œ 자꾸 νŒ¨ν‚€μ§€μ—μ˜ export κ²½λ‘œμ™€ import ν•˜λ €λŠ” λͺ¨λ“ˆμ΄ λ§€μΉ˜λ˜λŠ”κ²Œ μ—†λ‹€λŠ” μ—λŸ¬κ°€ λ–΄λ‹€.

μœ„μ—μ„œ λΈ”λ‘œκ·Έμ— μž‘μ„±ν–ˆλ˜ λ‚΄μš©μ„ 까먹고, npm install 을 λ‹€μ‹œ μ‹œλ„ν–ˆλŠ”λ° μ—¬μ „νžˆ 제자리;

 

ν•΄λ‹Ή μ—λŸ¬ λ°œμƒν•˜λŠ” νŒ¨ν‚€μ§€μ—μ„œ buildλ₯Ό ν•΄μ£Όλ‹ˆ ν•΄κ²°λ˜μ—ˆλ‹€. κΈ°μ‘΄μ—” λΉŒλ“œλ˜μ§€ μ•Šμ•„ νŒ¨ν‚€μ§€ μƒˆλ‘œ μž‘μ„±ν–ˆλ˜ λͺ¨λ“ˆμ΄ λ‹€ λΆˆλŸ¬μ™€ μ§€μ§€ μ•Šμ•˜λ˜ 것이닀! 

 

 

λΉŒλ“œν›„ 이제 app1을 μ‹€ν–‰ν•˜λ©΄ 문제 없이 잘 μž‘λ™ν•œλ‹€

 

Reference

https://turbo.build/repo/docs/handbook/sharing-code/internal-packages#3-import-the-package

 

Internal Packages | Turborepo

Learn how to build Internal Packages in your monorepo.

turbo.build

 

'React' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€

debounce둜 μ‹€μ‹œκ°„ 검색어 api 호좜 쀄이기  (0) 2024.02.07
Typescript + React 쑰건뢀 props μ „λ‹¬ν•˜κΈ° - discriminated unions  (0) 2024.02.05
μž¬κ·€ν•¨μˆ˜ κ²°κ³Όκ°’ useMemo둜 μž¬λ Œλ”λ§ λ°©μ§€  (0) 2024.01.17
rtk query μ„œλ²„ response body payload κ°’ λ°”λ‘œ μ•ˆ κ°€μ Έμ™€μ§€λŠ” 이슈  (1) 2023.11.22
axios post μš”μ²­μ‹œ 헀더, νŒŒλΌλ―Έν„° μ•ˆ λ³΄λ‚΄μ§€λŠ” 였λ₯˜  (0) 2023.11.01
  1. λͺ¨λ…Έλ ˆν¬ λ„μž…
  2. Monorepo λΉŒλ“œ 도ꡬ 
  3. 폴더 ꡬ쑰 
  4. μ—λŸ¬
  5. ν•΄κ²°
  6. μΆ”κ°€ 
  7. Reference
'React' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€
  • debounce둜 μ‹€μ‹œκ°„ 검색어 api 호좜 쀄이기
  • Typescript + React 쑰건뢀 props μ „λ‹¬ν•˜κΈ° - discriminated unions
  • μž¬κ·€ν•¨μˆ˜ κ²°κ³Όκ°’ useMemo둜 μž¬λ Œλ”λ§ λ°©μ§€
  • rtk query μ„œλ²„ response body payload κ°’ λ°”λ‘œ μ•ˆ κ°€μ Έμ™€μ§€λŠ” 이슈
hana1203
hana1203
hana's lab 🌱hana1203 λ‹˜μ˜ λΈ”λ‘œκ·Έμž…λ‹ˆλ‹€.
hana1203
hana's lab 🌱
hana1203
  • λΆ„λ₯˜ 전체보기 (93)
    • React (38)
    • JavaScript (7)
    • Firebase (4)
    • Google Cloud Platform (4)
    • Flutter (3)
    • Python (7)
    • Computer Science (6)
    • Problem Solving (3)
    • Git (5)
    • 회고 (10)
    • Etc (3)

λΈ”λ‘œκ·Έ 메뉴

  • ν™ˆ

곡지사항

전체
였늘
μ–΄μ œ

인기 κΈ€

νƒœκ·Έ

  • μ˜€λΈ”μ™„
  • ν‹°μŠ€ν† λ¦¬μ±Œλ¦°μ§€

졜근 κΈ€

졜근 λŒ“κΈ€

hELLO Β· Designed By μ •μƒμš°.v4.2.2
hana1203
failed to resolve entry for package monorepo
μƒλ‹¨μœΌλ‘œ

ν‹°μŠ€ν† λ¦¬νˆ΄λ°”

단좕킀

λ‚΄ λΈ”λ‘œκ·Έ

λ‚΄ λΈ”λ‘œκ·Έ - κ΄€λ¦¬μž ν™ˆ μ „ν™˜
Q
Q
μƒˆ κΈ€ μ“°κΈ°
W
W

λΈ”λ‘œκ·Έ κ²Œμ‹œκΈ€

κΈ€ μˆ˜μ • (κΆŒν•œ μžˆλŠ” 경우)
E
E
λŒ“κΈ€ μ˜μ—­μœΌλ‘œ 이동
C
C

λͺ¨λ“  μ˜μ—­

이 νŽ˜μ΄μ§€μ˜ URL 볡사
S
S
맨 μœ„λ‘œ 이동
T
T
ν‹°μŠ€ν† λ¦¬ ν™ˆ 이동
H
H
단좕킀 μ•ˆλ‚΄
Shift + /
⇧ + /

* λ‹¨μΆ•ν‚€λŠ” ν•œκΈ€/영문 λŒ€μ†Œλ¬Έμžλ‘œ 이용 κ°€λŠ₯ν•˜λ©°, ν‹°μŠ€ν† λ¦¬ κΈ°λ³Έ λ„λ©”μΈμ—μ„œλ§Œ λ™μž‘ν•©λ‹ˆλ‹€.