[Yarn] Yarn v2에서 npm registry를 바라보도록 환경설정하기

profile image pIutos 2023. 9. 8. 04:24

yarn은 위와 같이 기본적으로 registry.yarnpkg.com을 바라본다.
따라서 npm registry를 사용하는 사내 패키지를 받기 위해서 yarn이 npm registry url을 바라보도록 설정해줘야 한다.

npmRegistryServer 옵션 설정

.yarnrc.yml파일에 npmRegistryServer 옵션을 아래와 같이 설정하면 이제 npm registry로 바라본다.

npmRegistryServer: 'https://npm.pkg.github.com'

하지만 이렇게 설정하게 되면 모든 패키지를 설치할 때 해당 npm registry를 바라보기 때문에 yarn에서 받아와야하는 기존 패키지들을 설치하지 못한다는 문제가 있다.

따라서 사내 패키지만 특정적으로 npm registry를 바라보도록 설정해주어야 한다.

npmScopes 옵션 설정

yarnrc.yml settings

yarnrc는 위처럼 npmScopes옵션을 제공해서, 특정 패키지 이름(보통 회사명)에 해당하는 npmRegistryServer를 설정할 수 있다.

이때 회사명은 @를 떼고 설정해주어야 한다!

npmScopes:
  'company-name':
    npmRegistryServer: 'https://npm.pkg.github.com'

이제 회사 특정적으로 npm registry에 있는 패키지가 잘 받아와지는 것을 확인할 수 있다.

참고문서

https://yarnpkg.com/configuration/yarnrc#npmRegistryServer

https://stackoverflow.com/questions/61738819/installing-private-package-from-github-package-registry-using-yarn-fails-with-no