>  기사  >  백엔드 개발  >  Golang 패키지를 게시하는 방법

Golang 패키지를 게시하는 방법

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-09-19 16:15:09832검색

패키지를 게시하는 것은 도구를 전 세계와 공유할 수 있는 좋은 방법입니다. 누군가는 패키지를 가져와 자신의 프로젝트에서 사용하고 여러분이 구축한 기능을 구현할 수 있습니다. 다른 언어에 비해 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 <repo-url>
go install github.com/Pradumnasaraf/go-ai@latest

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

위 내용은 Golang 패키지를 게시하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.