モジュールの公開
他の開発者が利用できるモジュールを作成する場合は、Goツールから見えるように公開します。モジュールを公開したら、そのパッケージをインポートする開発者は、go get
などのコマンドを実行することで、モジュールへの依存関係を解決できるようになります。
注記: 公開後にモジュールのタグ付けされたバージョンを変更しないでください。モジュールを使用する開発者にとって、Goツールはダウンロードされたモジュールを最初にダウンロードされたコピーと照合して認証します。両者が異なる場合、Goツールはセキュリティエラーを返します。以前に公開されたバージョンのコードを変更する代わりに、新しいバージョンを公開してください。
参照
- モジュール開発の概要については、モジュールの開発と公開を参照してください。
- 公開を含む、高レベルのモジュール開発ワークフローについては、モジュールのリリースとバージョン管理ワークフローを参照してください。
公開手順
モジュールを公開するには、次の手順に従ってください。
-
コマンドプロンプトを開き、ローカルリポジトリ内のモジュールのルートディレクトリに移動します。
-
go mod tidy
を実行します。これにより、モジュールが蓄積した、もはや必要のない依存関係が削除されます。$ go mod tidy
-
go test ./...
を最後に実行して、すべてが正常に動作していることを確認します。これは、Goテストフレームワークを使用するために記述した単体テストを実行します。
$ go test ./... ok example.com/mymodule 0.015s
-
git tag
コマンドを使用して、プロジェクトに新しいバージョン番号をタグ付けします。バージョン番号には、ユーザーにこのリリースの変更の性質を示す番号を使用してください。詳細については、モジュールのバージョン番号付けを参照してください。
$ git commit -m "mymodule: changes for v0.1.0" $ git tag v0.1.0
-
新しいタグをオリジンリポジトリにプッシュします。
$ git push origin v0.1.0
-
go list
コマンドを実行して、公開するモジュールに関する情報をGoがモジュールのインデックスを更新するように促します。コマンドの前に、
GOPROXY
環境変数をGoプロキシに設定するステートメントを付けることで、リクエストがプロキシに確実に到達するようにします。$ GOPROXY=proxy.golang.org go list -m example.com/mymodule@v0.1.0
あなたのモジュールに関心のある開発者は、他のモジュールと同様に、パッケージをインポートしてgo get
コマンドを実行します。最新のバージョンを実行することも、次の例のように特定のバージョンを指定することもできます。
$ go get example.com/mymodule@v0.1.0