문서의 임의 삭제는 제재 대상으로, 문서를 삭제하려면 삭제 토론을 진행해야 합니다. 문서 보기문서 삭제토론 npm (문단 편집) === 대안 === 이 문단에서는 npm 대신 사용할 수 있는 node.js 패키지 관리자를 소개한다. 하지만 npm은 지울 수 없으므로 추가 설치하는 방식으로 관리한다. 각 패키지 관리자들의 관리 방식이 다르기 때문에, 패키지 관리자 전환 시 {{{node_modules}}} 와 각 패키지 관리자의 {{{.lock}}} 파일을 제거 후 수행하는 것을 추천한다. 여기에 소개된 패키지 관리자들은 모두 npm(웹 사이트)에서 패키지를 다운로드해 설치한다. Yarn은 registry.yarnpkg.com을 사용하고 있으나 해당 도메인은 npm(웹 사이트)의 서버로 연결되어 있므로 같은 패키지 저장소에 접속하게 된다. * [[https://yarnpkg.com/|yarn]]: npm의 알려진 단점으로는 패키지 종속성 해결이 쉬운 만큼, 패키지가 중복 설치된다는 문제가 있다. yarn은 이 문제를 해결하기 위해 중복 패키지 발견 시 링크(바로가기) 방식으로 해결한다. 또한, [[https://github.com/lerna/lerna|lerna]] Workspace 패키지와의 궁합으로 효율적으로 다중 모듈 패키지를 관리할 수 있었기 때문에 각광을 받았다. 그래서 Workspace 기능을 통한 다중 모듈이 요구되는 국내 환경에서 많이 사용하고 있는 패키지 관리자. yarn 2에서는 이를 더 개선하여 pnpm과 비슷하게 Workspace 자체 지원, 더 효율적인 패키지 관리 기능을 지원한다. 특이 사항으로는 {{{.lock}}} 파일이 [[YAML]] 방식이다. * [[https://pnpm.io/|pnpm]]: 또다른 패키지 관리자로 빠른 속도와 디스크 용량 절약을 내세우는 또다른 패키지 관리자. Yarn과는 달리 한국에서 많이 알려져 있지 않지만, ~~특히 [[정상길|모 스트리머 유저]]의 닉네임이라~~ 자체적으로 지원하는 다양한 기능(더욱 유연한 Workspace, 패키지 별칭 등)과 신속성, 절약성 때문에 요즘 사용 중인 패키지 프로젝트에서 채택하고 있다. 호불호가 큰 특징으로는, pnpm은 package.json 에 정의한 패키지만 설치한다. 기존 npm에서 특정 패키지를 설치하면 거기에 필요한 패키지를 추가로 설치하기 때문에 별도로 명시하지 않아도 패키지 내 제공하는 기능을 바로 사용할 수 있는 반면, pnpm은 명시된 패키지만 사용할 수 있으며 설치한 패키지에 요구되는 패키지 내 기능을 사용할 수 없다는 단점이 있다. 용량을 아끼는 대신 희생한 기능으로, 이를 해결하려면 직접 필요한 패키지를 명시하거나 pnpm hook 기능을 사용하라고 공식 문서에 기재되어 있다. 이는 yarn 2에서도 채택한 방식이다.저장 버튼을 클릭하면 당신이 기여한 내용을 CC-BY-NC-SA 2.0 KR으로 배포하고,기여한 문서에 대한 하이퍼링크나 URL을 이용하여 저작자 표시를 하는 것으로 충분하다는 데 동의하는 것입니다.이 동의는 철회할 수 없습니다.캡챠저장미리보기