첫 번째 NPM 패키지 출판 가이드
카테고리
프로그래밍/소프트웨어 개발
서브카테고리
개발 툴
대상자
Node.js 및 NPM 패키지 개발 초보자, 중급 개발자
핵심 요약
- 패키지 이름 중복 확인:
npm search your-package-name
명령어로 이름 중복 여부 확인 - 정식 NPM 레지스트리 설정:
npm config set registry https://registry.npmjs.org
명령어로 레지스트리 변경 - 버전 관리: Semantic Versioning (
major.minor.patch
) 형식 사용,npm version patch
명령어로 버전 업데이트
섹션별 세부 요약
1. 패키지 이름 중복 확인
npm search your-package-name
명령어로 이름 중복 여부 확인- 중복 시
@yourusername/package-name
형식의 스코프 패키지 사용 또는 이름 변경 ai-testpilot
처럼 설명적 접두사/접미사 추가
2. `package.json` 구성
- 필수 필드:
"name"
,"version"
,"description"
,"main"
,"repository"
,"license"
- CLI 도구 사용 시
"bin"
필드 추가:{"bin":{"your-command":"./bin/cli.js"}}
3. 레지스트리 설정
- 현재 레지스트리 확인:
npm config get registry
- Taobao, npmmirror 등 비공식 레지스트리 사용 시 공식 레지스트리(
https://registry.npmjs.org
)로 변경 npm config set registry https://registry.npmjs.org
명령어로 설정
4. 로그인 및 인증
npm login
명령어로 NPM 계정 인증- 인증 확인:
npm whoami
명령어 실행
5. `.npmignore` 파일 생성 (선택)
node_modules/
,.git/
,.DS_Store
,*.log
,test/
,.env
등 무시할 파일/디렉터리 지정
6. TypeScript 사용 시 빌드
npm run build
명령어로 TypeScript 코드를 JavaScript로 변환
7. 로컬 테스트
npm pack
명령어로 패키지 패키징npm install -g your-package-name-1.0.0.tgz
명령어로 로컬 설치 및 테스트- 설치 후
npm uninstall -g your-package-name
명령어로 제거
8. 패키지 출판
npm publish
명령어로 공식 레지스트리에 출판- 스코프 패키지 사용 시
npm publish --access public
명령어로 공개 설정
9. 출판 확인 및 설치 테스트
- NPM 웹사이트(
https://www.npmjs.com
)에서 패키지 검색 npm install your-package-name
명령어로 설치 테스트
결론
- 자동화: GitHub Actions를 사용해 CI/CD 파이프라인 구축하여 패키지 출판 자동화
- 레지스트리 설정: 출판 전 반드시 공식 NPM 레지스트리(
https://registry.npmjs.org
)로 설정 - 버전 관리:
npm version patch
/minor
/major
명령어로 버전 업데이트 후 다시 출판 - 라이선스: MIT 라이선스 사용 권장 (
"license":"MIT"
) - README 및 키워드: 설치 및 사용법 명시, 관련 키워드 추가하여 검색성 향상