私はGolangプロジェクトを開発し、TravisCIを使用しています。依存ツールとして、Godepsが使用されています。travis-ciでgolangプロジェクトをビルドする方法
git pushでテストを実行した後、以下のようなエラーが発生しました。
# command-line-arguments
cmd/proj/main_test.go:6:2: cannot find package
"command-line-/vendor/github.com/xxxxx/xxxxx/abc" in any of:
/home/travis/.gimme/versions/go1.6.linux.amd64/src/command-line-/vendor/github.com/xxxxx/xxxxx/xxx
パッケージが見つからないのはなぜですか? ビルドログとして、go getコマンドでうまくいくようです。
私のtravis.ymlはこちらです。
language: go
sudo: false
go:
- 1.6
- tip
services:
- redis-server
env:
global:
- secure: "xxxxx"
script:
- go fmt ./...
- go vet $(go list ./... | grep -v /vendor/)
- go test -v cmd/xxxx/*.go -xxxx ${XXXXX}
before_install:
- go get github.com/tools/godep
branches:
only:
- master
go go versionはOKです。 しかし1.6または1.5のバージョンはうまく動作しません。
どうすればその状況を管理できますか?
依存関係を/ vendorの下でgitにチェックした場合、Travisはgodepを取得する必要はありません。 1.5の場合、GO15VENDOREXPERIMENTのenv varを1に設定する必要がありますが、godep自体は無関係です。 – voutasaurus