[node.js] 왜 npm을 사용하여 얀을 설치하지 않습니까?

에서 블로그 게시물 발표 실 (대안 NPM 클라이언트) 그들이 말하는, “가장 쉬운 방법은 다음을 수행하는 것입니다 시작합니다 npm install -g yarn.” 그러나 문서의 “install yarn”페이지 로 이동하면 “npm install yarn”이 플랫폼 별 설치 페이지에 나열되지 않으며 “대안”페이지의 세 가지 옵션 중 세 번째 옵션으로 만 제공됩니다. . 또한 npm installyarn을 사용하면 “사용자 환경에 맞는 기본 설치 방법을 사용하여 Yarn을 설치하는 것이 좋습니다.”라는 사용 중단 경고가 인쇄됩니다. 그래서 내 질문은 npm install가장 쉬운 설치 방법 이라면 문서에서 권장되는 방법이 아닌 이유는 무엇입니까? 원사를 사용하여 설치하는 데 단점이 npm있습니까?



답변

편집 (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을 통한 설치는 대부분의 경우 현재 잘 작동하는 것 같습니다.


출처 :


답변

.NET을 통해 Yarn을 설치하는 데는 눈에 띄는 단점이 없습니다 npm. 사실 저는 몇 가지 이유 때문에이 방법을 직접 선택했습니다.

  1. 분명히 가장 쉬운 방법입니다. npm i --global yarn당신은 말 그대로 대체 할 수 npm와 함께 yarn즉시 콘솔.
  2. nvm각 NodeJS 버전에서 다른 코드 프로젝트를 사용 하고 유지 관리 하는 경우 한 버전에 Yarn을 설치하고 다른 버전에는 사용할 수 없습니다.
  3. 솔직히 플랫폼 별 설치에 언급되지 않았다고 생각할 수있는 유일한 이유는 npm이 플랫폼에 구애받지 않기 때문입니다.


답변

npm플랫폼에 따라 다르며 거의 모든 시스템에서 실행 되기 때문에 대안으로 나열됩니다. 플랫폼 별 설치에 비해 장점이나 단점은 없습니다. 차이점은 설치 위치이지만 모든 방법은 전역 yarn명령을 CLI에 노출합니다 .

대부분의 사람들이 이미에 매우 익숙하기 때문에 “가장 쉬운 방법”으로 나열했다고 주장 npm합니다.


답변