Nodejs 사내 저장소(Verdaccio)

hbjs97·2022년 6월 17일
2

Nodejs 사내 저장소

목록 보기
1/2

Nodejs 생태계에서 npm, yarn, pnpm 등의 유명한 패키지 관리자가 있다.
위 저장소에 내 패키지를 올릴 수 있는데, public 저장소는 무료지만 private 저장소는 유료다.

사내 라이브러리를 만들어 배포할 일이 생겼는데, 위 두가지 방법은 적절하지 않다고 생각되어
Verdaccio 를 사용해 사내 패키지 저장소를 만들기로 했다.

테스트를 위해 로컬에 패키지 저장소를 만든다(도커이미지도 제공된다).

yarn global add verdaccio@6-next

Verdaccio 를 글로벌 환경에 설치해주고, cli 에서

verdaccio

로 서버를 실행한다. 기본 포트는 4873

http://localhost:4873

기본적으로 패키지 관리자들이 바라보고 있는 저장소가 있다

https://registry.npmjs.org
https://registry.yarnpkg.com 

사내 저장소를 바라보게 바꿔줘야 한다.

npm set registry http://localhost:4873

or

yarn config set registry http://localhost:4873

잘 바뀌었는지 확인할 수 있다.

yarn config list

{
  ...,
  registry: 'http://localhost:4873',
  ...
}

만약 위 작업을 통해 사내 저장소를 바라게 하지 않았다면 아래 진행되는 과정에 repository 옵션과 url 을 직접 지정해줘야한다.

ex) yarn adduser --registry http://localhost:4873

사내 저장소를 바라보게 했으니, 패키지를 배포할 계정을 만들어야 한다.

npm adduser

npm notice Log in on http://localhost:4873/
Username: admin
Password:
Email: (this IS public) hbjs97@naver.com
Logged in as admin on http://localhost:4873/.

cli 로그인 커맨드

yarn login

대시보드에서도 로그인 할 수 있다.

만약 registry 설정을 날리고 싶으면
yarn config delete registry

verdaccio 로 만든 사내 저장소를 가리키고 있다면, 사내 저장소에 없는 패키지를 어떻게 다운해야하나 싶었는데, verdaccio 서버가 proxy 역할도 해 사내저장소에 없는 패키지는

https://registry.npmjs.org
https://registry.yarnpkg.com 

에서 설치한다.

0개의 댓글