반응형

Nexus 저장소에 npm 패키지 업로드/배포, 다운로드

 

https://www.youtube.com/watch?v=f5xlQqIGDP8

 

[참고] 

프로젝트 폴더로 이동 후
npm init         --> package.json 파일 생성 
                         기본 설정으로 진행하려면 npm init -y 
                         scope를 지정하려면 npm init --scope=myorg -y 
                         스코프 사용 시 다른 프로젝트에서도 저장소 접근 가능 
                         패키지 형식은 @myorg/패키지명@1.0.0 

 

넥서스에 npm 저장소(hosted, proxy, group)가 설정되었다고 가정하고 아래 진행. 
npm config set registry http://localhost:8081/repository/myorg-npm-group-repo/ -L projrct

 

cat .npmrc  <-- 로컬에 파일 생성됨  registory=http://localhost:8081/...

 

npm install express  --> E401 에러 발생!  인증 설정 필요함(사용자이름과 비밀번호 필요)

 

넥서스에서 Nexus role 타입의 사용자 역할 생성하자.  --> Security > Roles > Create Role 
사용자 계정 생성하자  --> Security > Users 

 

이제 npm으로 로그인 테스트
npm login --registory http://localhost:8081/repository/myorg-npm-group-repo/
   --> username, password 입력 진행, 
        성공하면, Logged in on http:// .... 메시지 나오고 
        인증정보는 .npmrc 파일에 저장됨   cat ~/.npmrc  <-- _authToken=...
 
넥서스에 배포하기 
npm publish --registory http://localhost:8081/repository/myorg-npm-hosted-repo/  
  --> packages.json에 설정하면 저장소는 생략 가능하다.
       "publishConfig": {
         "registry" : "http://localhost:8081/repository/myorg-npm-hosted-repo/"
       } 

자격이 없으면 오류 발생한다. 넥서스에서 hosted에 업로드할 자격을 생성하고 

계정에 역할 추가하고,,, 아래처럼 로그인 시도

 

npm login --registory http://localhost:8081/repository/myorg-npm-hosted-repo/
  --> 성공하면, 인증정보는 .npmrc 파일에 추가됨

재배포 시 오류나는 경우는 중복 게시 옵션을 허용해야 한다. 
(해당 저장소 설정에서 Deployment policy : Allow redeploy 선택)

 

반응형

+ Recent posts