php エディター Zimo は、ワークスペース メソッドを使用してクローンされた golang ライブラリを拡張する方法に関する記事を提供します。日常の開発プロセスでは、効率と機能を向上させるためにサードパーティのライブラリを使用することがよくあります。ただし、場合によっては、これらのライブラリにカスタマイズされた変更を加える必要がある場合があります。この記事ではクローンしたgolangライブラリをワークスペースを使って拡張する方法を紹介します。簡単な手順で、特定のニーズに合わせてライブラリを簡単に変更およびカスタマイズできます。初心者でも経験豊富な開発者でも、この記事は golang ライブラリをより効果的に使用するのに役立ちます。この楽しいテクニックを一緒に探ってみましょう!
私は golang アプリケーションを作成していて、既存のライブラリを活用したいと考えています。 しかし、ライブラリにはいくつかの機能が欠けていたため、リポジトリをフォークしてそこに新しい機能を追加することにしました。
フォーク/拡張ライブラリをアプリケーションで使用できるようにするために、golang の「ワークスペース」機能を使用しました。
アプリケーション リポジトリの go.work
は
これは、フォークされたリポジトリ内の既存のパッケージを拡張するだけであれば問題なく機能します。 つまり。フォークされたリポジトリで新しいパッケージの作成を開始するとすぐに、次のようなビルド エラーが発生します:
以下を含む新しいパッケージをフォーク/クローンリポジトリ go-git-cmd-wrapper/log/log.go
に追加しました
リーリー
リーリー リーリー
この種のエラーを修正するにはどうすればよいですか?ワークスペースやフォークされたリポジトリで何が間違っているのでしょうか? 回避策ワークスペース機能を使用するだけでは、目的を達成することはできません。これは、メイン インポートでモジュール パスを読み取る go ツールが、元のモジュールであるリモート リポジトリを呼び出すためです。参照してください:https://www.php.cn/link/b99f4242922cd10313630b0ecccda1dc
このユースケース用に設計された go モジュールの replace 関数を使用する必要があります。フォークは go ワークスペースに残しておきますが、次のコードを go.mod に追加します:
リーリー
https://go.dev/doc/modules/managing -dependency#local_directory
以上がワークスペースメソッドを使用してクローンされた Golang ライブラリを拡張する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。