"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como publicar um pacote Golang

Como publicar um pacote Golang

Publicado em 2024-11-08
Navegar:548

Publicar um pacote é uma boa maneira de compartilhar sua ferramenta com o mundo. Alguém pode importar o pacote e usá-lo em seu projeto, obtendo a funcionalidade que você construiu. É muito fácil publicar um pacote Golang em comparação com outras línguas. Faremos isso neste blog. Publiquei recentemente meu pacote GenCLI, você pode conferir aqui.

Para fins de demonstração, tenho este projeto CLI. Esta CLI alimentada por IA. Ele fornece respostas às suas perguntas por meio do terminal, desenvolvido com Cobra e Google Gemini API. Agora este projeto é local, e a única maneira de executá-lo é ir até a raiz do projeto e executar main.go e então usar subcomandos. Vai funcionar bem, mas o problema aqui é que não é confiável, sempre precisamos ir até a raiz do projeto e executá-lo, idealmente, ele deve rodar de qualquer lugar do computador, assim como outras ferramentas CLI. Além disso, nem todo mundo terá tanto trabalho para usá-lo. Então é por isso que é necessário e também importante publicar as ferramentas.

Pode haver várias maneiras de nomear seu pacote, mas como iremos hospedá-lo no GitHub, usaremos o método GitHub. Certifique-se de que em seu arquivo go.mod o nome do seu módulo seja a seguinte convenção - github.com//, assim como abaixo.

Uma coisa a notar é que o módulo é uma coleção de pacotes. Geralmente dizemos Publicar um módulo, não pacotes, mas para simplificar, mantivemos assim.

module github.com/Pradumnasaraf/go-ai

go 1.22

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

)

Agora, quando tudo estiver configurado, envie seu código para o GitHub. Certifique-se de enviar o código para o mesmo nome de usuário e nome de repositório do GitHub mencionado no módulo.

Depois de enviar o código para o GitHub, agora é hora de publicar seu pacote, mas antes de fazer isso, aqui estão algumas práticas recomendadas que você deve seguir

  • Licença: Tenha uma licença e tente colocar uma restrição mínima nela para que possa ser facilmente usada, modificada e redistribuída.

  • Documentação: Podemos comentar na parte superior do arquivo do pacote para explicar a funcionalidade e golang considera isso como documentação geral do pacote e mostra-a na seção Documentação do pacote.

  • Tags: A marcação é boa quando uma pessoa tem uma versão específica do pacote e as versões marcadas também fornecem resultados previsíveis durante as compilações. As tags devem seguir Semver. Além disso, tente lançar versões estáveis ​​com 1.0.0 e superiores, isso dá confiança aos desenvolvedores.

Agora, para publicar o pacote, acesse o URL https://pkg.go.dev/github.com/. No meu caso, seria https://pkg.go.dev/github.com/Pradumnasaraf/go-ai. Ao visitar, você verá um botão de solicitação; clique nele para solicitar a adição do pacote ao pkg.go.dev. Não o farei porque não quero publicar esta ferramenta, pois foi apenas para uma demonstração.

How to Publish a Golang Package

Quando terminar, depois de algumas horas, ele estará no site. Quando estiver ativo, você pode baixar a CLI usando o comando go install:

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

É isso neste blog. Estou feliz que você ainda esteja lendo e tenha feito isso também. Obrigado! Às vezes compartilho dicas sobre Golang no Twitter. Você pode se conectar comigo lá.

Declaração de lançamento Este artigo foi reproduzido em: https://dev.to/pradumnasaraf/how-to-publish-a-golang-package-i12?1 Se houver alguma violação, entre em contato com [email protected] para excluí-lo
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3