corepack, 사용해야하는 이유
corepack이란
corepack
은 node.js에서 패키지 매니저 호환성 이슈를 해결하는 도구입니다.
pnpm
, yarn
등은 lockfile을 생성하는데요, 해당 lockfile들은 패키지 매니저의 버전에 영향을 받기 때문에 한 패키지 매니저만 사용하는 경우에도 호환성 문제가 생길 수 있습니다.
그래서 node.js 팀이 만든 게 corepack
입니다.
작동 방식
corepack
을 활성화하면 yarn
명령어와 pnpm
명령어의 동작이 달라집니다.
설치된 명령어의 버전을 사용하는 대신, 프로젝트 설정에 따라 적절한 버전의 패키지 매니저를 사용합니다.
만약 적절한 버전의 패키지 매니저가 설치되어있지 않은 경우, 조용히 설치한 뒤 실행합니다.
장점
- 새로운 프로젝트에 참여하는 사람은 설치된 패키지 매니저의 버전과 프로젝트가 사용하는 패키지 매니저의 버전이 달라서 발생하는 문제 떄문에 골머리를 앓을 일이 없습니다.
- 프로젝트 관리자 같은 경우 별도로 문서화를 해둘 필요가 없습니다. 문서화를 해두지 않아도 명령어 도구들이 알아서 적절한 버전을 사용하기 때문입니다.
사용법
사용도 간단합니다.
corepack enable
이렇게 하면 끝입니다.