慕容3067478
您是否尝试过 github.com/google/go-licenses?跑go get -v github.com/google/go-licensesgo build github.com/google/go-licenses./go-licenses csv .这至少给了你一些信息。更详细一点:所以我创建了一个测试项目:package mainimport ( "encoding/json" "fmt" log "github.com/sirupsen/logrus")func main() { log.Warn("Warn") foo := make(map[string]bool) foo["bar"] = true j, _ := json.MarshalIndent(foo, " ", " ") fmt.Println(string(j))}我做的:me@dattan:~/testing/blabla$ go mod init example.com/testgo: creating new go.mod: module example.com/testme@dattan:~/testing/blabla$ go buildgo: finding module for package github.com/sirupsen/logrusgo: downloading github.com/sirupsen/logrus v1.5.0go: found github.com/sirupsen/logrus in github.com/sirupsen/logrus v1.5.0go: downloading golang.org/x/sys v0.0.0-20190422165155-953cdadca894me@dattan:~/testing/blabla$ go get -v github.com/google/go-licensesgo: downloading github.com/google/go-licenses v0.0.0-20200227160636-0fa8c766a591... [lots of downloads, that's why -v to see it's not dead]github.com/google/go-licensesme@dattan:~/testing/blabla$ go build github.com/google/go-licensesme@dattan:~/testing/blabla$ ./go-licenses csv .E0406 23:03:48.578291 32389 library.go:108] Failed to find license for example.com/test: no file/directory matching regexp "^(LICEN(S|C)E|COPYING|README|NOTICE)(\\..+)?$" found for /home/me/testing/blablaE0406 23:03:48.627889 32389 csv.go:84] Error discovering URL for "/home/me/go/pkg/mod/golang.org/x/sys@v0.0.0-20191119060738-e882bf8e40c2/LICENSE":- unsupported package host "golang.org" for "golang.org/x/sys/unix"example.com/test,Unknown,Unknowngithub.com/sirupsen/logrus,https://github.com/sirupsen/logrus/blob/master/LICENSE,MITgolang.org/x/sys/unix,Unknown,BSD-3-Clause最后几行并不完美,但它确实看到 logrus 是 MIT 并提供了许可证的链接。我的缺少 LICENSE 文件的测试包当然会失败。从评论编辑 虽然以上对我有用,但这些是提问者需要执行的命令:go build ./... ./go-licenses csv ./...