Go モジュールは、Go 言語バージョン 1.11 で導入された重要な機能です。開発者がプロジェクト内でサードパーティ ライブラリをより適切に管理し、依存するのに役立ちます。非モジュール モードで開発された以前のプロジェクトの場合、PHP エディター Banana は、モジュールと非モジュール モジュールを同じパスで公開できることを全員に伝えます。この利点は、プロジェクトの使いやすさと安定性を維持しながら、既存のプロジェクトを簡単かつ段階的にモジュール モードに移行できることです。ただし、モジュールと非モジュールモジュールを同じパスに公開する場合、プロジェクトが正常に動作するように、いくつかのルールと規則に従う必要があることに注意してください。
非モジュール リポジトリでホストされている小さなライブラリを持っていますが、それを go モジュールに変換したいと考えています。
私は正常に実行しました:
リーリーgo.mod
ファイルと go.sum
ファイルはエラーなしで作成され、ライブラリはテストに合格します。
以前のバージョンは v2.0.0
だったので、バージョンを v3.0.0
に上げ、go.mod# に
/v3 を追加しました。モジュール名の末尾に ## を付けます。オンラインで見たところ、これが必要なものです。
私の
go.mod ファイルは次のようになります:
リーリー
新しい go モジュール プロジェクトにライブラリを追加しようとすると、次のメッセージが表示されます:
リーリー
v3.0.0 を新しいパス (
tssgit.reyrey.com/teschste/go-utils2) に公開すると、正常に追加できることがわかりました。メインプロジェクトのバージョンを再度上げても、新しいプロジェクトになります。
ご協力いただければ幸いです。 解決策はい、これはサポートされています。 version サブディレクトリはオプションです。
表示されているエラーの原因となる状況が見つかりました。これは、master ブランチが更新されておらず (依然としてタグ
v2.0.0 を指している)、新しいタグ
v3.0.0 がサーバーにプッシュされていない場合に発生します。リモート リポジトリが更新されていることを再確認してください。
-x オプションを指定して実行します
go get:
リーリー
cd 出力に示されているディレクトリに移動します。ディレクトリ パスは次のようになります:
リーリー
git ls-remote -qorigin を実行し、出力を確認します。以下の例は、私のマシンで動作しない場合です。
head と
v2.0.0 は両方とも同じコミット ID を指しており、
v3.0.0 は存在しないことがわかります。
リーリー
以上がGo モジュールは、以前の非モジュール モジュールと同じパスで公開できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。