편집 (2020/11/23) :
댓글에 Yarn의 조언에 대한 업데이트를 제공 한 @Kissaki에게 감사드립니다.
Yarn 2.x부터 Yarn 팀은 조언을 변경했으며 이제 npm을 통해 도구를 설치할 것을 제안합니다. 이 조언은 프로젝트별로 사용되는 Yarn 버전을 잠그는 이점을 중심으로합니다. 이를 통해 프로젝트는 Yarn 버전 간의 변화에 탄력적으로 대처할 수 있습니다.
새로운 Yarn "설치"페이지에서 :
시스템 전체에서 단일 패키지 관리자를 사용하는 것은 항상 문제였습니다. 안정적으로 설치하려면 여러 환경에서 동일한 패키지 관리자 버전으로 실행해야합니다. 그렇지 않으면 버전간에 우발적 인 변경 사항이 발생할 위험이 있습니다. 결국 잠금 파일 개념이 처음 도입 된 이유입니다! 그리고 Yarn이 어떤 의미에서 첫 번째 프로젝트 종속성이므로 "잠금"하는 것도 의미가 있습니다.
이러한 이유로 Yarn 2 이상은 프로젝트별로 관리됩니다.
이는 프로젝트별로 빌드 도구 버전을 잠그는 다른 방법과 유사합니다. 예제 는 Gradle Wrapper 를 참조하세요 .
독립형 Yarn 설치의 장점은 특히 Yarn 팀의 방향 변경으로 인해 다소 빠르게 떨어집니다. 이제 npm을 통한 설치가 제안되며 Yarn 2.x부터 독립 실행 형 설치에 대한 지침이 더 이상 해당 사이트에 제공되지 않는 것으로 보입니다.
원래 답변 :
Yarn 프로젝트 관리자에 따르면 npm을 통해 Yarn을 설치 하는 것은 프로젝트의 목표에 위배되고 문제를 일으킬 수 있으며 일반적으로 플랫폼 별 설치 방법보다 더 나쁩니다.
권장되는 플랫폼 별 설치의 장점 :
- Yarn 팀은 npm을 안전하지 않고 신뢰할 수 없다고 간주합니다. Yarn의 "설치"페이지 의 " npm을 통해 설치"섹션에서 :
참고 : npm을 통한 Yarn 설치는 일반적으로 권장되지 않습니다. npm을 사용하여 Yarn을 설치하는 것은 비 결정적이며 패키지가 서명되지 않았으며 수행되는 유일한 무결성 검사는 시스템 전체 앱을 설치할 때 보안 위험이되는 기본 SHA1 해시입니다.
따라서 운영 체제에 가장 적합한 설치 방법을 통해 Yarn을 설치하는 것이 좋습니다.
- npm을 통해 별도의 패키지 관리자 유틸리티 인 Yarn을 실행하면 에지 케이스 문제가 발생할 수 있습니다 ( 문제 2072 참조 ).
- 시스템 패키지 관리자를 통해 설치하면 npm에서 Yarn이 분리되어 npm없이 Yarn을 실행할 수 있습니다.
- 시스템 패키지 관리자는 일반적으로 정기적으로 실행되어 Yarn을 업데이트합니다.
- npm을 통한 Yarn 설치가 느립니다.
이점 npm install -g yarn
:
- 빠르고 쉬움 (
npm install -g yarn
)
- 모든 npm 환경 (플랫폼에 구애받지 않음)에서 수행 가능
- Node.js 개발자를위한 친숙한 패러다임 및 프로세스
- 쉽게 업데이트 가능 (
npm update -g yarn
)
- Yarn 업데이트 명령이 존재
yarn self-update
하지만 ( ) 손상된 것 같습니다.
- 시스템 패키지 관리자에 의존하지 않음
- 다른 프로젝트 또는 Node.js의 다른 버전에 대해 다른 버전의 Yarn을 사용할 수 있습니다.
nvm
권장 설치에 대한 시스템 패키지 관리자 인수는 공식 패키지 관리자가없는 Windows를 참조 할 때 분석되는 경향이 있습니다 (Windows Update를 계산하지 않는 한). 또한 Chocolatey와 같은 Windows 패키지 관리자는 종종 자동 업데이트를 위해 구성되지 않습니다.
이에 대한 Yarn 팀의 결정에 전적으로 동의하는지 확신 할 수 없지만 몇 가지 공정한 점을 지적합니다. Yarn 프로젝트는 아직 젊고 npm을 대체하는 경우 npm을 기본 설치 프로그램으로 권장하는 것은 이치에 맞지 않습니다.
그럼에도 불구하고 npm을 통한 설치는 대부분의 경우 현재 잘 작동하는 것 같습니다.
출처 :