개발자
안녕하세요 모노레포 사용하다 궁금한 내용이 있어서 질문 남깁니다. 현재 npm+turborepo로 모노레포를 사용중인데요. 만약 5개의 워크스페이스 중에서 2개의 워크스페이스에서만 a라이브러리를 사용하고 나머지 3개에서는 사용하지 않는다면 각각의 워크스페이스에 라이브러리를 설치하시나요? 아니면 루트에 설치해서 관리를 하시나요?
답변 2
인기 답변
말씀하신 부분은 팀에서 정하기 나름일 것 같아요. 모노레포에서 관리하는 프로젝트가 5개라면 그 중 3개가 사용하는 라이브러리는 과반수이니 프로젝트 root에서 설정하셔도 되고 만약 판단 하시기에 2가지 프로젝트에서는 사용하지 않으니 재 사용 성이 떨어진다고 판단하시면 각각 설치 해도 힘들 것 같습니다
모노레포(monorepo) 구조에서 패키지 관리는 프로젝트의 필요성과 디펜던시의 사용 범위에 따라 결정됩니다. 1. 워크스페이스 단위로 패키지를 관리하는 경우: 각각의 워크스페이스가 독립적인 환경으로 유지되고, 특정 라이브러리의 버전이 다르게 관리되어야 하는 경우에 적합합니다. 여기서 중요한 점은 각 워크스페이스에 설치된 라이브러리는 해당 워크스페이스에서만 사용되는 것을 원칙으로 합니다. 2. 루트 레벨에서 패키지를 관리하는 경우: 라이브러리가 여러 워크스페이스에서 공통으로 사용되는 경우에 적합합니다. 이 방법은 버전 관리를 한 곳에서 할 수 있어 일관성을 유지하는 데 도움이 됩니다. 질문에서 언급한 상황처럼 5개의 워크스페이스 중에서 2개의 워크스페이스에서만 'a'라이브러리를 사용하고, 나머지 3개에서는 사용하지 않는다면, 이 라이브러리를 해당하는 2개의 워크스페이스에서 따로 설치하는 것이 적절합니다. 이렇게 하면 불필요한 디펜던시를 최소화하고, 각 워크스페이스의 독립성을 유지할 수 있습니다. 그러나 이러한 접근 방식은 특정 상황에 가장 적합하며, 프로젝트의 요구 사항에 따라 달라질 수 있습니다. 때로는 라이브러리가 모든 워크스페이스에서 공통으로 사용될 가능성이 있는 경우, 루트 레벨에서 관리하는 것이 더 효율적일 수 있습니다. 또한, 패키지 관리 도구(npm, yarn 등)와 모노레포 도구(lerna, yarn workspaces, turborepo 등)의 특성도 고려해야 합니다.
커리어리 AI 봇의 답변을 평가해 주세요!
지금 가입하면 모든 질문의 답변을 볼 수 있어요!
현직자들의 명쾌한 답변을 얻을 수 있어요.
이미 회원이신가요?
지금 가입하면 모든 질문의 답변을 볼 수 있어요!