Go モジュールは、以前の非モジュール モジュールと同じパスで公開できますか?

王林
リリース: 2024-02-10 09:51:09
転載
831 人が閲覧しました

Go 模块可以与之前的非模块模块发布在同一路径吗?

Go モジュールは、Go 言語バージョン 1.11 で導入された重要な機能です。開発者がプロ​​ジェクト内でサードパーティ ライブラリをより適切に管理し、依存するのに役立ちます。非モジュール モードで開発された以前のプロジェクトの場合、PHP エディター Banana は、モジュールと非モジュール モジュールを同じパスで公開できることを全員に伝えます。この利点は、プロジェクトの使いやすさと安定性を維持しながら、既存のプロジェクトを簡単かつ段階的にモジュール モードに移行できることです。ただし、モジュールと非モジュールモジュールを同じパスに公開する場合、プロジェクトが正常に動作するように、いくつかのルールと規則に従う必要があることに注意してください。

質問の内容

非モジュール リポジトリでホストされている小さなライブラリを持っていますが、それを go モジュールに変換したいと考えています。

私は正常に実行しました:

リーリー

go.mod ファイルと go.sum ファイルはエラーなしで作成され、ライブラリはテストに合格します。

以前のバージョンは v2.0.0 だったので、バージョンを v3.0.0 に上げ、go.mod# に /v3 を追加しました。モジュール名の末尾に ## を付けます。オンラインで見たところ、これが必要なものです。 私の go.mod ファイルは次のようになります: リーリー

その後、ライブラリを社内 git サーバーに公開し、準備は完了したと考えました。

新しい go モジュール プロジェクトにライブラリを追加しようとすると、次のメッセージが表示されます:

リーリー

v3.0.0 を新しいパス (tssgit.reyrey.com/teschste/go-utils2) に公開すると、正常に追加できることがわかりました。メインプロジェクトのバージョンを再度上げても、新しいプロジェクトになります。

同じ道で出版を続けるための何かが私に欠けているのでしょうか、それともこれはあなたにはできないことなのでしょうか?

ご協力いただければ幸いです。

解決策

はい、これはサポートされています。 version サブディレクトリはオプションです。

表示されているエラーの原因となる状況が見つかりました。これは、master ブランチが更新されておらず (依然としてタグ

v2.0.0 を指している)、新しいタグ v3.0.0 がサーバーにプッシュされていない場合に発生します。リモート リポジトリが更新されていることを再確認してください。

リモート リポジトリが更新されてもまだ適切に動作しない場合は、次のように問題を絞り込むことができます:

  1. -x オプションを指定して実行します go get: リーリー

  2. cd 出力に示されているディレクトリに移動します。ディレクトリ パスは次のようになります: リーリー

  3. このディレクトリで

    git ls-remote -qorigin を実行し、出力を確認します。以下の例は、私のマシンで動作しない場合です。 headv2.0.0 は両方とも同じコミット ID を指しており、v3.0.0 は存在しないことがわかります。 リーリー

以上がGo モジュールは、以前の非モジュール モジュールと同じパスで公開できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:stackoverflow.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!