我正在尝试使用travis.ci定义Go项目, 我的项目不在公共Github上,而是在我们公司的私有Github中。
这是.travis.yaml
language: go
go:
- "1.10"
script:
- go get -v -t -d ./...
- go test -v ./...
我能够在日志中看到它能够下载依赖项,例如:
Parsing meta tags from https://gopkg.in/yaml.v2?go-get=1 (status code 200)
get "gopkg.in/yaml.v2": found meta tag get.metaImport{Prefix:"gopkg.in/yaml.v2", VCS:"git", RepoRoot:"https://gopkg.in/yaml.v2"} at https://gopkg.in/yaml.v2?go-get=1
gopkg.in/yaml.v2 (download)
等
但是随后我看到以下错误:
The command "go get -v -t -d ./..." exited with 1.
0.29s$ go test -v ./...
main.go:8:2: cannot find package "c-boilerplate/cmd" in any of:
/home/travis/.gimme/versions/go1.10.linux.amd64/src/c-boilerplate/cmd (from $GOROOT)
/home/travis/gopath/src/c-boilerplate/cmd (from $GOPATH)
这是我的代码:
package main
import (
"fmt"
"os"
"c-boilerplate/cmd"
)
func main() {
if err := cmd.RootCmd.Execute(); err != nil {
fmt.Println(err)
os.Exit(1)
}
}
c-boilerplate
是软件包名称,我在这里遗漏了什么?
我正在使用go dep在本地安装依赖项,并且程序可以正常运行...
编辑:当我将其更改为显式导入时,它可以在构建中使用,但不能在我的IDE中本地使用(不编译),是否可以同时支持这两种方法?
package main
import (
"fmt"
"os"
"github.company.corp/i062346/c-boilerplate/cmd"
)
func main() {
if err := cmd.RootCmd.Execute(); err != nil {
fmt.Println(err)
os.Exit(1)
}
}