Go 依存関係管理の概要:
vgoあなたのバージョンが次の場合:x >= go 1.11
depまたはvendor、go のバージョンが次の場合:go 1.6 >= x < go 1.11
- go のバージョンが次の場合は手動で:
x < go 1.6
編集 3: Go 1.11 には、vgoを置き換える dep機能があります。
を使用するには、モジュールのドキュメントvgoを参照してください。以下のTLDR:
export GO111MODULE=on
go mod init
go mod vendor # if you have vendor/ folder, will automatically integrate
go build
このメソッドは、go.modプロジェクト ディレクトリに呼び出されるファイルを作成します。その後、 でプロジェクトをビルドできますgo build。が設定されている場合GO111MODULE=auto、プロジェクトを に含めることはできません$GOPATH。
編集 2: ベンダー方式は引き続き有効であり、問題なく機能します。vendorこのため、大部分は手作業でdep作成vgoされました。
編集 1: 私の古い方法は機能しますが、もはや「正しい」方法ではありません。Go 1.6 でデフォルトで有効になっているベンダー機能、、vgoまたは(今のところ) を使用する必要があります。を参照してください。基本的に、ディレクトリ内に「外部」または「依存」パッケージを追加します。コンパイル時に、コンパイラはこれらのパッケージを最初に使用します。depvendor
見つかった。GOPATHサブフォルダーを作成してから、次のようなスクリプトでインポートすることにより、ローカルパッケージをpackage1インポートできました。import "./package1"binary1.gobinary2.go
binary1.go
...
import (
"./package1"
)
...
したがって、現在のディレクトリ構造は次のようになります。
myproject/
├── binary1.go
├── binary2.go
├── package1/
│ └── package1.go
└── package2.go
また、相対パス (少なくとも go 1.5 では) も機能することに注意してください。例えば:
import "../packageX"