golang を使用した開発プロセスでは、vendor ディレクトリを使用することがよくあります。ベンダーディレクトリとは依存パッケージを格納するディレクトリで、依存パッケージは自分で書いたコードと同じディレクトリに存在するため、依存パッケージのバージョン情報を管理しやすくなります。
ただし、場合によっては、ベンダー ディレクトリを閉じる必要がある場合があります。この記事では、ベンダー ディレクトリを閉じる必要性と、具体的な手順と考慮事項について説明します。
ベンダーを閉じる必要性
一部の特殊なシナリオでは、ベンダー ディレクトリを閉じる必要があります。次の点を以下に示します。
プロジェクトのサイズが増加するにつれて、ベンダー ディレクトリ内の依存パッケージの数も増加し続けます。これらの依存パッケージのバージョン番号、依存関係、その他の情報により、コードが不必要に複雑になります。ベンダー ディレクトリを閉じた後、すべての依存パッケージを $GOPATH/src ディレクトリに配置して、コードの複雑さを軽減し、コードの可読性を向上させることができます。
ベンダー ディレクトリを閉じた後、 go get コマンドを使用して必要な依存関係パッケージをダウンロードし、依存関係パッケージのバージョンを明示的に指定できます。 。このようにして、依存パッケージのバージョン情報を簡単に管理し、最新かつ最も安定したバージョンを使用していることを確認できます。
ベンダー ディレクトリに導入する 2 つの依存関係パッケージに依存関係の競合があり、プログラムが正しくコンパイルまたは実行されなくなることがあります。ベンダー ディレクトリを閉じることで、 go get コマンドを使用して最新の依存関係パッケージをダウンロードし、依存関係を手動で処理して依存関係パッケージの競合を解決できます。
vendor を閉じる手順と注意事項
vendor ディレクトリを閉じるのは非常に簡単で、vendor ディレクトリを削除するだけです。ただし、vendor ディレクトリを閉じる前に、コードがスムーズにコンパイルされ実行されるようにするための準備を行う必要があります。
コード内のベンダー ディレクトリに依存パッケージへの参照がある場合は、ベンダー ディレクトリを閉じる プログラムをコンパイルして正常に実行できません。コード内のすべての依存パッケージが正しく参照されていることを確認する必要があります。
vendor ディレクトリを閉じた後、すべての依存パッケージを $GOPATH/src ディレクトリに配置する必要があります。 go get コマンドを使用して必要な依存関係をダウンロードできるように、$GOPATH ディレクトリが正しく設定されていることを確認してください。
ベンダー ディレクトリを閉じた後、go get コマンドを使用して依存パッケージをダウンロードし、依存パッケージのバージョン番号。次のコマンドを使用して依存パッケージをダウンロードできます。
go get -u package_name@version
このうち、package_name はダウンロードする依存パッケージの名前を表し、version は使用する依存パッケージのバージョン番号を表します。バージョン番号を指定しない場合、デフォルトで依存パッケージの最新バージョンがダウンロードされます。
依存パッケージをダウンロードした後、依存パッケージが正常にダウンロードされ、$ にインストールされていることを確認する必要があります。 GOPATH ディレクトリ。次のコマンドを使用して確認できます。
go list -json -m package_name
ここで、package_name は、確認する依存パッケージの名前を表します。依存パッケージが正常にダウンロードされ、$GOPATH ディレクトリにインストールされると、依存パッケージに関する情報が出力されます。
開発にエディターまたは IDE を使用している場合は、ベンダー ディレクトリを閉じた後、次の順序でエディターまたは IDE を再起動する必要があります。依存パッケージを再ロードします。
概要
vendor ディレクトリを閉じるのは非常に簡単なタスクですが、コードをスムーズに実行するには、閉じる前にいくつかの準備を行う必要があります。ベンダー ディレクトリを閉じると、コードの複雑さが軽減され、依存関係パッケージのバージョンが管理され、依存関係パッケージの競合が解決されます。開発に golang を使用するときに依存パッケージに関する問題が発生した場合は、vendor ディレクトリを閉じて問題を解決してみてください。
以上がGolangでベンダーを閉じる方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。