モジュールの公開

他の開発者が利用できるモジュールを作成する場合は、Goツールから見えるように公開します。モジュールを公開したら、そのパッケージをインポートする開発者は、go getなどのコマンドを実行することで、モジュールへの依存関係を解決できるようになります。

注記: 公開後にモジュールのタグ付けされたバージョンを変更しないでください。モジュールを使用する開発者にとって、Goツールはダウンロードされたモジュールを最初にダウンロードされたコピーと照合して認証します。両者が異なる場合、Goツールはセキュリティエラーを返します。以前に公開されたバージョンのコードを変更する代わりに、新しいバージョンを公開してください。

参照

公開手順

モジュールを公開するには、次の手順に従ってください。

  1. コマンドプロンプトを開き、ローカルリポジトリ内のモジュールのルートディレクトリに移動します。

  2. go mod tidyを実行します。これにより、モジュールが蓄積した、もはや必要のない依存関係が削除されます。

    $ go mod tidy
    
  3. go test ./...を最後に実行して、すべてが正常に動作していることを確認します。

    これは、Goテストフレームワークを使用するために記述した単体テストを実行します。

    $ go test ./...
    ok      example.com/mymodule       0.015s
    
  4. git tagコマンドを使用して、プロジェクトに新しいバージョン番号をタグ付けします。

    バージョン番号には、ユーザーにこのリリースの変更の性質を示す番号を使用してください。詳細については、モジュールのバージョン番号付けを参照してください。

    $ git commit -m "mymodule: changes for v0.1.0"
    $ git tag v0.1.0
    
  5. 新しいタグをオリジンリポジトリにプッシュします。

    $ git push origin v0.1.0
    
  6. 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