프로그래밍/JS, Node.js

Github Packages로 NPM 라이브러리 배포하기

Lou Park 2025. 6. 21. 12:50

Javascript/Typescript 프로젝트를 npm 라이브러리로 배포하는 방법

레지스트리
레지스트리는 패키지(라이브러리, 모듈 등)를 저장하고 배포하는 저장소다. npm에서 패키지를 배포하거나 설치할 때 참조하는 서버라고 볼 수 있다.

npm
npm(Node Package Manager)은 JavaScript와 Node.js 생태계에서 사용되는 패키지 관리 도구다. 개발자들이 라이브러리나 모듈을 설치, 관리, 배포할 수 있도록 한다.

 

1. GitHub Personal Access Token 생성

GitHub에 로그인한 후, Settings > Developer settings > Personal access tokens로 이동한다.
Generate new token을 클릭하고, 다음 권한을 선택하여 토큰을 생성한다:
- write:packages
- read:packages

 

2. 프로젝트 설정

프로젝트 루트 디렉토리에서 package.json 파일을 수정해야한다.:
- name: @your-org/package-name 형식으로, 대문자는 소문자로 변경해야한다.
- version: 패키지 버전
- main: 진입점

{
  "name": "@your-org/package-name",
  "version": "1.0.0",
  "description": "Your package description",
  "main": "dist/index.js",
  "scripts": {
    ...
  },
  "repository": {
    "type": "git",
    "url": "https://github.com/<your-org>/<repository-name>.git"
  },
  "author": "Your Organization",
}

 

3. npm 레지스트리 인증 설정

프로젝트 루트 디렉토리에 .npmrc 파일을 추가하여 사용할 레지스트리를 설정한다:

@your-org:registry=https://npm.pkg.github.com //npm.pkg.github.com/@gna-company-inc/:_authToken=<your_github_token>

 

이렇게 환경변수로 로드해도 된다.

@your-org:registry=https://npm.pkg.github.com //npm.pkg.github.com/@gna-company-inc/:_authToken=${GITHUB_TOKEN}

 

4. 패키지 빌드 및 배포

프로젝트 빌드:

npm run build

 

패키지를 GitHub Packages에 배포:
- package.jsonversion이 이전에 배포된 버전과 달라야 한다.

npm publish


배포된 패키지는 GitHub Organization의 Packages에서 확인할 수 있다.

배포된 패키지의 모습

라이브러리 사용 방법

다른 프로젝트에서 패키지를 설치하려면 .npmrc 파일에 동일한 레지스트리 설정을 추가한다. (필요한 경우, Personal Access Token도 추가해야한다):

@your-org:registry=https://npm.pkg.github.com

 

패키지 설치:

npm install @your-org/package-name