배포판(distribution) 업로드하기
배포판(distribution) 업로드하기 (distributions_uploading)
Raku 모듈을 하나 완성했다면 커뮤니티와 나누고 싶을 거예요. Raku 모듈 디렉터리에 등록된다면 정말 반가운 일이에요. :) 이 문서는 모듈을 준비하고, ecosystem에 업로드해서 공유하는 과정을 안내해요. Raku 모듈 배포의 실제 흐름을 한번 따라가 볼게요.
본문
zef ecosystem은 fez 모듈 업로더 유틸리티를 사용해요. fez 명령을 쓰는 게 모듈을 배포하는 방법이에요.
모듈을 공유하는 과정은 두 단계로 나뉘어요. 모듈을 준비하는 단계와, 위에서 언급한 ecosystem 중 하나에 모듈을 업로드하는 단계예요. 모듈 준비에 관한 자세한 내용은 배포판: 입문에 연결된 페이지들에서 찾을 수 있어요.
zef ecosystem에 모듈 업로드하기
zef ecosystem을 쓰려면 먼저 fez로 사용자 이름을 등록해야 해요.
- 아직 설치하지 않았다면
fez를 설치해요.
zef install fez
- zef의 ecosystem에 사용자로 등록해요.
fez register
>>= Email: [email protected]
>>= Username: username
>>= Password:
>>= registration successful, requesting auth key
>>= login successful, you can now upload dists
- 이제 모듈을 업로드할 수 있어요!
다음 작업을 하기 전에 META6.json 파일의 auth가 zef:<username>과 일치하는지 확인하고, 이어서:
fez upload
>>= Vortex::TotalPerspective:ver<0.1.2>:auth<zef:username> looks OK
>>= Hey! You did it! Your dist will be indexed shortly
버저닝과 fez (Versioning and fez)
- 버전 붙은 distribution의 변경을 막기 위해(distribution은 모듈을 둘 이상 포함할 수 있다는 점을 기억하세요), 버전 하나당 distribution 업로드는 한 번만 허용돼요. 개발자가 저장소의 코드를 변경해도 그 변경은
fez시스템에 반영되지 않아요. 그래서 코드 변경은 반드시 버전 번호를 올리고 새 버전을fez에 업로드하는 것으로 이어져야 해요.
그게 전부예요! Raku 커뮤니티에 기여해 주셔서 감사합니다!
모듈 설치를 직접 시험해 보고 싶다면, Rakudo Star Raku에 포함된 zef 모듈 설치 도구를 사용할 수 있어요.
zef install Vortex::TotalPerspective
이 명령은 모듈을 자체 작업 디렉터리(~/.zef)로 내려받아 그곳에서 빌드하고, 로컬 Raku 설치 디렉터리에 설치해요. 스크립트에서 Vortex::TotalPerspective를 쓰려면 그냥 use Vortex::TotalPerspective라고 쓰면 돼요. 그러면 Raku 구현체가 모듈 파일을 어디서 찾을지 알게 돼요.
폐기된 ecosystem (Deprecated ecosystems)
모듈을 배포하는 방법은 세 가지가 있었는데, 그중 CPAN 방식과 P6C 방식은 폐기됐어요. zef/fez 방법을 사용하세요. 다만 어떤 방법을 쓰든 모든 모듈은 raku.land 웹사이트에 인덱스됩니다.
참고:
fez로 skeleton을 만들거나 모듈·리소스·의존성을 추가하는 자세한 방법은 배포판: 설정과 구조 문서에서 다뤄요.
더 알아보기
- 배포판: 입문 — 배포판 개념과 용어
- 배포판: 설정과 구조 —
META6.json과 디렉터리 구조 - 배포판: 테스트 — 공개 전 테스트 방법
- 배포판: 도구 — 모듈 관련 도구 목록