"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > Golang 패키지를 게시하는 방법

Golang 패키지를 게시하는 방법

2024-11-08에 게시됨
검색:252

패키지를 게시하는 것은 도구를 전 세계와 공유할 수 있는 좋은 방법입니다. 누군가는 패키지를 가져와 자신의 프로젝트에서 사용하고 여러분이 구축한 기능을 구현할 수 있습니다. 다른 언어에 비해 Golang 패키지를 게시하는 것은 매우 쉽습니다. 우리는 이 블로그에서 그 일을 할 것입니다. 최근에 GenCLI 패키지를 게시했습니다. 여기에서 확인할 수 있습니다.

데모 목적으로 이 CLI 프로젝트가 있습니다. AI 기반 CLI입니다. Cobra 및 Google Gemini API로 구축된 터미널을 통해 질문에 대한 답변을 제공합니다. 이제 이 프로젝트는 로컬이며 이를 실행하는 유일한 방법은 프로젝트의 루트로 이동하여 main.go를 실행한 다음 하위 명령을 사용하는 것입니다. 잘 작동하지만 여기서 문제는 이것이 신뢰할 수 없다는 것입니다. 매번 프로젝트 루트로 이동하여 실행해야 합니다. 이상적으로는 다른 CLI 도구와 마찬가지로 컴퓨터의 어느 곳에서나 실행되어야 합니다. 게다가, 모든 사람이 그것을 사용하기 위해 이렇게 많은 번거로움을 겪는 것은 아닙니다. 따라서 이것이 도구를 게시하는 것이 중요할 뿐만 아니라 필요한 이유입니다.

패키지 이름을 지정하는 방법은 여러 가지가 있지만 GitHub에서 호스팅하므로 GitHub 방식을 사용하겠습니다. go.mod 파일에서 모듈 이름이 아래와 같이 github.com// 규칙을 따르는지 확인하세요.

한 가지 주목해야 할 점은 모듈이 패키지의 모음이라는 것입니다. 우리는 일반적으로 패키지가 아닌 모듈 게시라고 말하지만 단순함을 유지하기 위해 그렇게 유지했습니다.

module github.com/Pradumnasaraf/go-ai

go 1.22

require (
....
....
....

)

이제 모든 것이 설정되면 코드를 GitHub에 푸시하세요. 모듈에서 언급한 것과 동일한 GitHub 사용자 이름 및 저장소 이름에 코드를 푸시해야 합니다.

GitHub에 코드를 푸시했다면 이제 패키지를 게시할 차례입니다. 하지만 그 전에 따라야 할 몇 가지 모범 사례는 다음과 같습니다.

  • 라이센스: 라이센스를 보유하고 쉽게 사용, 수정 및 재배포할 수 있도록 최소한의 제한을 두십시오.

  • 문서: 기능을 설명하기 위해 패키지 파일 상단에 주석을 달 수 있으며 golang은 이를 일반 패키지 문서로 간주하여 패키지 문서 섹션에 표시합니다.

  • 태그: 태그 지정은 사람이 특정 버전의 패키지를 가지고 있는 경우 유용하며 태그가 지정된 버전은 빌드 중에 예측 가능한 결과를 제공합니다. 태그는 Semver를 따라야 합니다. 또한 1.0.0 이상의 안정적인 버전을 출시해 보면 개발자에게 자신감을 줄 수 있습니다.

이제 URL https://pkg.go.dev/github.com/에 패키지 헤드를 게시합니다. 내 경우에는 https://pkg.go.dev/github.com/Pradumnasaraf/go-ai입니다. 방문하시면 요청버튼이 보입니다. 이를 클릭하면 pkg.go.dev에 패키지 추가를 요청합니다. 이 도구는 단지 데모용이었기 때문에 게시하고 싶지 않기 때문에 그렇게 하지 않겠습니다.

How to Publish a Golang Package

완료하고 몇 시간 후에 웹사이트에 게시됩니다. 활성화되면 go install 명령을 사용하여 CLI를 다운로드할 수 있습니다:

go install 
go install github.com/Pradumnasaraf/go-ai@latest

이 블로그는 여기까지입니다. 당신도 여전히 읽고 있고 성공해서 기쁘다. 감사합니다! 저는 가끔 트위터에서 Golang에 대한 팁을 공유합니다. 그곳에서 나와 연결하실 수 있습니다.

릴리스 선언문 이 글은 https://dev.to/pradumnasaraf/how-to-publish-a-golang-package-i12?1에서 복제됩니다. 침해 내용이 있는 경우, [email protected]으로 연락하여 삭제하시기 바랍니다.
최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3