You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
현재 널리 사용되는 패키지 매니저로는
npm, yarn, pnpm, yarn berry 정도가 있다고 생각합니다.
각각 장단점이 있지만, 최근에는 대부분의 경우
pnpm이나 yarn berry가 좋은 선택으로 많이 언급되는 것 같습니다.
이번에 제가 pnpm을 선택한 이유는 호환성 때문이었습니다.
yarn berry의 경우 일부 라이브러리와 호환되지 않는 사례가 있을 수 있고,
이로 인한 유지보수 부담이 커질 수 있다고 판단했습니다.
아래 3가지 이유가 주요한 이유였어요
기본 PnP(Plug’n’Play) 모드가 기존 생태계랑 다름
Yarn Berry는 기본적으로 node_modules 없이 의존성을 관리하는 PnP 방식을 사용해서,
기존 패키지/툴이 node_modules 경로에 직접 의존하고 있으면 문제를 겪을 수 있어요. 이 때문에 일부 도구나 설정에서 오류가 나기도 합니다. 
VSCode/TypeScript/ESLint 같은 개발도구 지원이 추가 설정 필요
PnP 모드에서 IDE나 LSP가 제대로 작동하게 하려면 SDK 설치/설정이 필요하기도 해요. (자동으로 되는 경우도 있고, 수동 조정이 필요할 수도 있음) 
옛 라이브러리가 의존성 선언을 잘못 했을 때 문제 발생 가능
Yarn PnP 모드는 의존성 트리를 엄격히 따르기 때문에,
peerDependencies나 숨겨진 의존성을 제대로 선언하지 않은 라이브러리에서는 에러가 날 수 있어요.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
#347
패키지 매니저 마이그레이션을 진행하면서 여러분의 의견이 궁금합니다.
현재 널리 사용되는 패키지 매니저로는
npm, yarn, pnpm, yarn berry 정도가 있다고 생각합니다.
각각 장단점이 있지만, 최근에는 대부분의 경우
pnpm이나 yarn berry가 좋은 선택으로 많이 언급되는 것 같습니다.
이번에 제가 pnpm을 선택한 이유는 호환성 때문이었습니다.
yarn berry의 경우 일부 라이브러리와 호환되지 않는 사례가 있을 수 있고,
이로 인한 유지보수 부담이 커질 수 있다고 판단했습니다.
아래 3가지 이유가 주요한 이유였어요
기본 PnP(Plug’n’Play) 모드가 기존 생태계랑 다름
Yarn Berry는 기본적으로 node_modules 없이 의존성을 관리하는 PnP 방식을 사용해서,
기존 패키지/툴이 node_modules 경로에 직접 의존하고 있으면 문제를 겪을 수 있어요. 이 때문에 일부 도구나 설정에서 오류가 나기도 합니다. 
VSCode/TypeScript/ESLint 같은 개발도구 지원이 추가 설정 필요
PnP 모드에서 IDE나 LSP가 제대로 작동하게 하려면 SDK 설치/설정이 필요하기도 해요. (자동으로 되는 경우도 있고, 수동 조정이 필요할 수도 있음) 
옛 라이브러리가 의존성 선언을 잘못 했을 때 문제 발생 가능
Yarn PnP 모드는 의존성 트리를 엄격히 따르기 때문에,
peerDependencies나 숨겨진 의존성을 제대로 선언하지 않은 라이브러리에서는 에러가 날 수 있어요.
여러분은 어떻게 생각하시나요?
경험이나 의견 자유롭게 공유해주시면 좋겠습니다 👍
Beta Was this translation helpful? Give feedback.
All reactions