「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > Golang パッケージを公開する方法

Golang パッケージを公開する方法

2024 年 11 月 8 日に公開
ブラウズ:596

パッケージを公開することは、ツールを世界と共有する良い方法です。誰かがパッケージをインポートして自分のプロジェクトで使用し、あなたが構築した機能を実現できます。他の言語と比べて、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 にプッシュしたら、パッケージを公開します。その前に、従うべきベスト プラクティスがいくつかあります

  • ライセンス: ライセンスを取得し、簡単に使用、変更、再配布できるように、最小限の制限を設けるようにしてください。

  • Documentation: パッケージ ファイルの先頭にコメントを付けて機能を説明できます。golang はこれを一般的なパッケージ ドキュメントとして扱い、パッケージ ドキュメント セクションの下に表示します。

  • ]
  • Tags: タグ付けは、特定のバージョンのパッケージを持っている場合に適しています。また、タグ付けされたバージョンは、ビルド中に予測可能な結果を​​もたらします。タグは 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

このブログはここまでです。あなたもまだ読んでいて、それを作ってくれて嬉しいです。ありがとう! Twitter で Golang に関するヒントを共有することがあります。そこで私とつながることができます。

リリースステートメント この記事は次の場所に転載されています: https://dev.to/pradumnasaraf/how-to-publish-a-golang-package-i12?1 侵害がある場合は、[email protected] に連絡して削除してください。
最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3