Я пытаюсь определить проект Go с помощью travis.ci, Мой проект не на общедоступном 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)
}
}