ホームページ  >  記事  >  バックエンド開発  >  git ls-remote は成功しますが、 go get は失敗します

git ls-remote は成功しますが、 go get は失敗します

WBOY
WBOY転載
2024-02-14 13:54:08430ブラウズ

git ls-remote 成功而 go get 失败

php エディター Apple は、Git および Go 言語を使用してプロジェクトを開発するときに問題に遭遇しました。 git ls-remote コマンドはリモート ウェアハウスの情報を正常に取得できますが、go get コマンドを使用すると問題が発生しました。失敗します 依存パッケージを正常にダウンロードできません。この問題はエディターを長い間悩ませてきましたが、何度も試行とデバッグを繰り返した結果、ついに解決策を見つけました。この記事では、同じ問題に遭遇した開発者の参考になればと思い、この問題の原因と解決策を詳しく紹介します。

質問内容

以下のようにリポジトリに対して git ls-remote コマンドが成功しました。

リーリー

ただし、 go get を使用すると cmd が失敗し、リポジトリが見つかりません。エラー出力は、リポジトリ構造の上の 1 ディレクトリで .git を検索しようとしています。

リーリー

私の民営化は goprivate=internal.net

go get を成功させるためには何が足りないでしょうか?

解決策

プライベート モジュール パスに vcs サフィックスを追加して、リポジトリのルート プレフィックスをマークします:

リーリー

プライベート モジュールへの直接アクセスを参照してください:

モジュール パスをリポジトリ URL に解決するために、内部 http サーバーが引き続き必要になる場合があります

。たとえば、go コマンドがモジュール corp.example.com/mod をダウンロードすると、get が https://corp.example.com/mod?go-get=1## に送信されます。 # リクエストを実行すると、リポジトリの応答で URL が検索されます。この要件を回避するには、各プライベート モジュール パスに、リポジトリのルート プレフィックスをマークする vcs サフィックス (.git など) が付いていることを確認してください。たとえば、 go コマンドがモジュール corp.example.com/repo.git/mod をダウンロードすると、そのクローンが https://corp.example.com/repo.git## に作成されます。 # または ssh://corp.example の git repository.com/repo.git を追加のリクエストを行わずに実行します。 vcs サフィックスはモジュール パスの一部であるため、モジュール パスが使用される場所には必ずこれを含める必要があることに注意してください。含む:###

モジュール

コマンド
    リーリー
  1. require

    コマンド
  2. リーリー
  3. インポート宣言 リーリー

  4. 他にもあります。

以上がgit ls-remote は成功しますが、 go get は失敗しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はstackoverflow.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。