Trouble Shooting

yarn unknown workspace 오류 해결

SH_Roh 2023. 5. 23. 03:20
반응형

프로젝트에 모노레포를 적용해보는 중에 한 워크스페이스에만 패키지를 추가하기 위해 커맨드를 입력했다.

// yarn workspace [워크스페이스 이름] add [패키지 이름]
yarn workspace admin-front add @mui/material @emotion/react @emotion/styled

 

하지만 Unknown workspace 라는 오류가 발생했다.

Unknown workspace

 

해결 방법

1. 루트 package.json의 workspaces의 값들이 배열로 되어있는지 확인

{
  // ...
  "workspaces": [
    "common/*",
    "apps/*"
  ]
 }

루트 디렉토리에 있는 package.json의 workspaces가 배열로 되어있는지 확인한다.

 

2. workspace 이름과 package.json의 name이 일치하는지 확인

yarn add [워크스페이스 이름] add [패키지]

위 커맨드를 실행할 때의 워크스페이스 이름과 추가하려는 워크스페이스에 있는 package.json의 name이 일치하는지 확인해야 한다.

 

 

예를 들어 admin-front라는 프로젝트에만 mui를 추가하고 싶은 경우,

yarn workspace admin-front add @mui/material @emotion/react @emotion/styled

 

위에서 입력한 admin-front와 apps/admin-front에 있는 package.json의 name이 일치해야 한다.

{
  "name": "admin-front",
  // ...
}

 

 

이 이름이 일치하지 않아서 생긴 문제였다.

처음에 프로젝트 세팅을 한 뒤 폴더 이름만 수정했었는데 폴더 이름을 기준으로만 생각하다보니 패키지 이름은 생각하지 못했다. package.json의 name까지 수정을 해주니 해당 오류는 더이상 발생하지 않았다. (아직도 낯설고 어려운 모노레포 🤦)

 

 

https://classic.yarnpkg.com/en/docs/cli/workspace

https://stackoverflow.com/questions/60910762/how-can-i-fix-the-yarn-error-unknown-workspace

 

 

 

반응형