배포판(distribution) 업로드하기

배포판(distribution) 업로드하기 (distributions_uploading)

Raku 모듈을 하나 완성했다면 커뮤니티와 나누고 싶을 거예요. Raku 모듈 디렉터리에 등록된다면 정말 반가운 일이에요. :) 이 문서는 모듈을 준비하고, ecosystem에 업로드해서 공유하는 과정을 안내해요. Raku 모듈 배포의 실제 흐름을 한번 따라가 볼게요.

출처: Raku Docs — Distributions: Uploading

본문

zef ecosystemfez 모듈 업로더 유틸리티를 사용해요. fez 명령을 쓰는 게 모듈을 배포하는 방법이에요.

모듈을 공유하는 과정은 두 단계로 나뉘어요. 모듈을 준비하는 단계와, 위에서 언급한 ecosystem 중 하나에 모듈을 업로드하는 단계예요. 모듈 준비에 관한 자세한 내용은 배포판: 입문에 연결된 페이지들에서 찾을 수 있어요.

zef ecosystem에 모듈 업로드하기

zef ecosystem을 쓰려면 먼저 fez로 사용자 이름을 등록해야 해요.

  1. 아직 설치하지 않았다면 fez를 설치해요.
zef install fez
  1. zef의 ecosystem에 사용자로 등록해요.
fez register
>>= Email: [email protected]
>>= Username: username
>>= Password:
>>= registration successful, requesting auth key
>>= login successful, you can now upload dists
  1. 이제 모듈을 업로드할 수 있어요!

다음 작업을 하기 전에 META6.json 파일의 authzef:<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을 만들거나 모듈·리소스·의존성을 추가하는 자세한 방법은 배포판: 설정과 구조 문서에서 다뤄요.

더 알아보기