javascript - 환경변수 - 윈도우 yarn 설치




원사:JavaScript 의존성을 프로덕션 서버에 재배포하는 절차(`yarn.lock` 파일 사용) (2)

원사에 대한 설명서를 읽었으며 lock 파일이 VC에 커밋되어야한다는 것을 알고 있습니다. this 보고 높은 수준에서 잠금 파일이 필요한 이유와 실제로 수행 할 작업에 대한 설명없이 많은 명령 목록을 설명합니다.

StackOverflow에 대한 많은 질문을 읽었습니다. StackOverflow는 lock 파일이 VC에 커밋되어야하는지 여부를 묻습니다.

그러나 모든 문서 및 SO 스레드는 내가 알고 싶어하는 세부 사항을 간과하는 것처럼 보입니다. 다음과 같습니다. 올바른 절차 (올바른 명령 집합 실행)는 무엇입니까?

  1. 필요한 경우 yarn.lock 파일 업데이트 (즉, 최신 부 버전을 가져오고이를 반영하도록 lock 파일을 업데이트하려는 개발 환경)
  2. 내 잠금 파일을 다른 개발자와 동기화하여 동일한 종속 버전에서 개발 / 테스트하고 있는지 확인합니다.
  3. 프로덕션 서버의 node_modules 디렉토리를 업데이트 / 재 동기화 (즉, 프로덕션 서버가 종속 패키지의 다른 / 최신 버전에서 실행되지 않도록)

나는 서버에서 git pull 을하는 동안 과거에 yarn.lock 파일이 개발 / VC 프로세스와 독립적으로 업데이트되었다는 메시지를 yarn.lock 기 때문에 부분적으로 묻습니다. 내가 아는 한, 결코 그렇게해서는 안됩니다.


  1. 솔직히, 이것은 의견 / 선호의 문제입니다. 몇 가지 전략을 보았습니다.

    • yarn upgrade 사용
    • yarn 를 실행하기 전에 수동으로 package.json 에서 버전을 범프 처리
  2. Fabien이 언급 한 것처럼 yarn check 사용 yarn check

  3. npm 패키지의 캐시를 버전 제어로 커밋하는 곳에서 원사 오프라인 미러를 사용할 수 있습니다. ( this 매체 기사 참조)

    플러스 yarn --offline 사용할 때 많은 yarn --offline :

    • npm 레지스트리에서 패키지를 가져올 필요가 없기 때문에 빌드가 빠릅니다.
    • 올바른 의존성이 없다면 빌드가 실패합니다.

다음 정보는 우리가 오렌지에서 매일 사용하는 것에 근거하고 있습니다. 이것은 단일 진실이 아닐 수도 있습니다.

1) yarn.lock 업데이트

yarn upgrade [package | package@tag | package@version | @scope/]... [--ignore-engines] [--pattern]

이 명령은 package.json 파일에 지정된 버전 범위를 기반으로 최신 버전으로 종속성을 업데이트합니다. yarn.lock 파일도 다시 작성됩니다.

출처 : https://yarnpkg.com/en/docs/cli/upgrade

2) 개발자 간의 의존성

당신이 할 제안은 현재의 '권장'버전을 확인하는 스크립트를 만드는 것입니다 :

yarn check

현재 프로젝트의 package.json 에있는 패키지 종속성 버전이 원사의 잠금 파일에있는 버전과 일치하는지 확인합니다.

출처 : https://yarnpkg.com/en/docs/cli/check

3) 서버 생산 갱신

git hook 스크립트를 사용하는 2)와 동일하게 package.json 버전이 yarn update 시작하지 않으면 올바른지 확인하십시오.







yarnpkg