バージョン管理のために、導入・モジュールの先頭から1.11に移動します。
モジュールを使用することにより、プロジェクトのディレクトリの場所はGOPATHの下に配置する必要はありません。
現在のバージョンでは、モジュールを導入するには、次の意志Go1.13例1.13です。
ゴー1.13では、モジュールを使用するかどうかをセットに一時的に環境変数GO111MODULEの継続使用。
1.についてGO111MODULE
GO111MODULEは上、オフに設定、またはauto(デフォルト)することができます。
1.1 GO111MODULEは上=
GO111MODULEが上=場合は、行くコマンドモジュールが依存関係、もはや使用GOPATHを見つけるために使用されます。一般的に「モジュール対応モード」と呼ばれます。
モジュール対応モードでは、GOPATHは無意味であるが、それはまだ依存関係が$ GOPATH / PKG / MODに格納されているダウンロードしますが、結果が置か$ GOPATH / binに(そうでない場合はGOBINをインストール行くことになります設定)。
モジュールが行くコマンドを行った場合(GOビルド、テストを行く....など)が、自動的に依存してgo.modに加えます。
1.2 GO111MODULEはオフ=
GO111MODULEがオフの場合は=、ゴーコマンドは、もはや見つけるために、モジュールの依存関係を使用しませんが、ベンダーのディレクトリとGOPATHで依存関係を探します。一般に呼ばれる「GOPATHモード。」
1.3 GO111MODULE = autoまたは提供しません
GO111MODULE = autoまたはないが設定されている場合は、モジュールが存在go.modファイルに依存して使用するかどうか、コマンドを行きます。
そこgo.modカレントディレクトリ内のファイル、または親ディレクトリ場合は、[移動]コマンドは、モジュールを使用するには、モジュールを使用することはありません。
特別な指示は、
ゴー1.13で、GO111MODULE = autoまたはない限りgo.modファイルがあるとして設定され、場合、それはあまりにも、でもでもGOPATHで、モジュールを使用します。
ゴー1.13以前は、GO111MODULE = autoまたは設定されていないが、モジュールを使用することができない場合でも、GOPATHであれば。
2.Modules与vendoring
モジュールを使用する場合は、ゴーコマンドは自動的に依存関係をダウンロードする(ストレージ・パスGOPATH / PKG / MOD)、および完全ベンダーのディレクトリを無視します。
古いゴーのバージョン、またはディレクトリ内のすべての依存関係をしたいとの互換性のために、言語は「行くMODベンダー」を提供して行きます。
利用はすべて行くのビルドを保存するという名前のメインモジュールのベンダーのディレクトリのルートディレクトリに作成することができ、「モッズベンダーに行く」、依存関係はテストが使用行きます。
コンパイル時には、「ゴービルドを-mod =ベンダー」を使用して、そうではなく、ネットワークおよびローカルキャッシュを使用するよりも、ディレクトリのベンダー依存関係の使用は、意志。
ここでは、ベンダーのディレクトリは、ベンダーのディレクトリ他の場所は無視され、プライマリモジュールのトップベンダーのディレクトリでなければなりません。