golangのパッケージ依存解決ツールdepを使うが上手くいかない(解決!)
※2017年12月25日追記
depは常に進化を続けているので、この記事に書いてある情報は古い可能性があります。
最新の情報はgithubを御覧ください。
GitHub - golang/dep: Go dependency management tool
※2017年2月24日追記
なんとかこの問題を解決しました!
記事の最後に解決した記事のURLを貼っておくので良かったら見てください。
本文はここから
golangのパッケージ依存問題
golang使いの方なら幾度も悩まされたであろう問題。。。
もしかしたら、この問題に終止符が打たれるかもしれません。
公式からバージョン依存解決ツールがでたので、少しだけ使ってみました
golangのパッケージ依存問題について詳しく知りたい方はこちらをどうぞ。
いくつもあるパッケージ依存管理ツール
公式からパッケージ依存管理ツールが出ていなかったこともあってか、
様々なツールが登場しています。
公式にも以下のようにちゃんと紹介されています。
僕も普段はgbを使用しています。(gbさんお世話になっています。。)
個人的にgbも使いやすく今の所、不満はないのですが今日はdepを使ってみます。
公式から出たパッケージ依存管理ツール
遂に長い時を経て、depという公式パッケージ依存管理ツールが登場しました。
ただ、少し気になるのがREADME.mdに
Depはプロトタイプの依存関係管理ツールです。コンパイルするには、Go 1.7以上が必要です。 まだDepは公式のツールではありません。 Goチームには祝福されていません。 しかし、Goコミュニティの大部分のコンセンサス努力とgo toolchainに統合されていることが目標です。
Google翻訳で訳すと、こんな感じのことが書かれています。
「まだ公式パッケージ依存管理ツールではないけど、そうなるように努力してる」って感じでしょうか。
depを使ってみる
まずはインストールしましょう。
$ go get -u github.com/golang/dep/...
テストプロジェクトを作って、動作確認してみましょう。
まず始めにdep init
というコマンドを打つようです。
% dep init project not in a GOPATH
はい。初っ端からつまづきました。いやいや。。GOPATHありますよ!
確認してみます。
% go env GOARCH="amd64" GOBIN="" GOEXE="" GOHOSTARCH="amd64" GOHOSTOS="darwin" GOOS="darwin" GOPATH="~/.go" ・・・
うーん。ちゃんと設定されてるっぽいんですが。。。
もしかしてgolangのバージョンが古いんでしょうか。
公式ドキュメントには「Go 1.7以上であればオッケー」と書かれていました。
% go version go version go1.8 darwin/amd64
バージョンは1.8なので、特に問題ないようです。
仕方ないので、depのソースコードに見に行きました。
僕が出しているエラーの箇所は下記のようです。
dep/context.go at 8ac86c2f5767a63fb51ccedffa167972341f6cd9 · golang/dep · GitHub
分からん・・・
僕のgolang力がなさすぎて、解読できません・・・(泣)
まとめ
分からん。
depのissueを見ましたが特にこのエラーに該当するissueも見当たらなかったので
恐らく僕の環境なり、やり方が間違っている可能性が非常に高いです。
うーん。
もう少しがんばってみますか。
おわり!!
追記
※解決しました tsujitaku50.hatenablog.com