node private package

Pien·2023년 7월 21일

특징

NPM

  1. NPM에서 private 패키지를 사용하기 위해선 매달 1인당 $7의 돈을 지불해야 한다.
  2. 용량 제한, 전송 용량 제한 없음

Nexus

  1. 가장 인기있는 오픈소스
  2. community버전은 무료

sinopia

  1. 2015년 이후로 지원이 중단됨

verdaccio

  1. sinopia를 기반으로 발전된 형태 현재도 유지보수가 활발하게 이뤄지는중
  2. npm 배포 이전에 E2E Test 가능

github package

  1. 500MB공간에 대해 무료 / 매달 1기가 전송량에 대해 무료

github Pacakge 업로드 하는법

1.

package.json 파일에서 아래와 같이 필수 입력사항을 적는다 name과 publishConfig에 각각 @계정명를 앞에 붙여 준다.

// package.json
{
	"name": "@계정명/npmpackage-test",
	"version": "1.0.0",
	"description": "npm package Test용",
	"main": "index.js",
	"repository": {
		"type": "git",
		"url": "https://github.com/stevelabs-co/npmpackage-test.git"
	},
	"author": "pien",
	"license": "ISC",
	"publishConfig": {
		"@stevelabs-co:registry": "https://npm.pkg.github.com"
	},
}

2.

github에서 write:package 가 포함된 토큰을 새로 발급 받는다.

3.

홈 폴더에 .npmrc파일을 만들어 아래와 같이 기입한다.

// ~/.npmrc
@@계정명:registry=https://npm.pkg.github.com/
//npm.pkg.github.com/:_authToken={{github token}}

4.

터미널에 아래 명령어를 기입한다.

$ npm login --auth-type=legacy --registry=https://npm.pkg.github.com --scope=@@계정명

명령어를 기입한뒤 Github계정정보를 입력해 준다. (name, password, email) password는 발급받았던 토큰 기입

5.

패키지 작성 후 터미널에 아래와 같이 기입한다.

$ npm publish

수정된 사항이 있을 경우 package.json에서 버전 변경 필수
패키지 배포가 이뤄진 뒤에는 해당 버전의 수정이 불가능하다.

github Package 사용법

1.

github에서 write:package 가 포함된 토큰을 새로 발급 받는다.

2.

홈 폴더에 .npmrc파일을 만들어 아래와 같이 기입한다.

// ~/.npmrc
@계정명:registry=https://npm.pkg.github.com/
//npm.pkg.github.com/:_authToken={{github token}}

3.

터미널에 아래 명령어를 기입한다.

$ npm login --auth-type=legacy --registry=https://npm.pkg.github.com --scope=@계정명

명령어를 기입한뒤 Github계정정보를 입력해 준다. (name, password, email) password는 발급받았던 토큰 기입

4.

계정명 => package에 진입 후 원하는 패키지 선택후 버전별로 인스톨

0개의 댓글