
The Go gopher was designed by Renée French.
golang で依存関係管理ツール「dep」を使って... github.com
「goa」を使おうとしたらハマりました。 github.com
ハマったこと
まず、dep を初期化します。
$ dep init
すると、「Gopkg.toml」ファイルができます。中身は以下のような感じ。
# Gopkg.toml example # # Refer to https://golang.github.io/dep/docs/Gopkg.toml.html # for detailed Gopkg.toml documentation. # # required = ["github.com/user/thing/cmd/thing"] # ignored = ["github.com/user/project/pkgX", "bitbucket.org/user/project/pkgA/pkgY"] # # [[constraint]] # name = "github.com/user/project" # version = "1.0.0" # # [[constraint]] # name = "github.com/user/project2" # branch = "dev" # source = "github.com/myfork/project2" # # [[override]] # name = "github.com/x/y" # version = "2.4.0" # # [prune] # non-go = false # go-tests = true # unused-packages = true [prune] go-tests = true unused-packages = true
次に、こちら の「Vendoring」に記載されている通り、Gopkg.toml
に追記します。
# Gopkg.toml example # # Refer to https://golang.github.io/dep/docs/Gopkg.toml.html # for detailed Gopkg.toml documentation. # required = ["goa.design/goa/codegen/generator"] ...
そして、$dep ensure
!
...すると、「vendor/goa.design/goa」の下に「cmd/goa」が落ちてきません。
これでは $ go build
できないではありませんか。
解決法
Gopkg.toml
の unused-packages = true
をコメントアウトします。# unused-packages = true
こんな感じです。
これで $dep ensure
すると「cmd/goa」が落ちてくるようになります。
しかし「unused-packages」is 何?
こちらに記載があります。翻訳すると
パッケージインポートグラフに表示されていないディレクトリのファイルを整理する必要があることを示します。
とのことでした。よくわかりませんが...「cmd/goa」は整理されて落ちてこないということなのか...?