亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何使用 Go Modules 打印我的項目中使用的許可證?

如何使用 Go Modules 打印我的項目中使用的許可證?

Go
烙印99 2022-05-23 17:35:15
出于法律原因,我需要我的項目使用的依賴項(直接庫和臨時庫)的許可證列表(例如 MIT、Apache)。我只知道如何打印沒有許可證的依賴項列表。有沒有辦法打印帶有 Go Modules 許可證的依賴項列表?類似于在 npm ( NPM License Checker ) 和 Gradle ( Gradle License Report ) 中所做的事情。謝謝!
查看完整描述

1 回答

?
慕容3067478

TA貢獻1773條經驗 獲得超3個贊

您是否嘗試過 github.com/google/go-licenses?



go get -v github.com/google/go-licenses

go build github.com/google/go-licenses

./go-licenses csv .

這至少給了你一些信息。


更詳細一點:所以我創建了一個測試項目:


package main


import (

    "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/test

go: creating new go.mod: module example.com/test

me@dattan:~/testing/blabla$ go build

go: finding module for package github.com/sirupsen/logrus

go: downloading github.com/sirupsen/logrus v1.5.0

go: found github.com/sirupsen/logrus in github.com/sirupsen/logrus v1.5.0

go: downloading golang.org/x/sys v0.0.0-20190422165155-953cdadca894

me@dattan:~/testing/blabla$ go get -v github.com/google/go-licenses

go: 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-licenses

me@dattan:~/testing/blabla$ go build github.com/google/go-licenses

me@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/blabla

E0406 23:03:48.627889   32389 csv.go:84] Error discovering URL for "/home/me/go/pkg/mod/golang.org/x/[email protected]/LICENSE":

- unsupported package host "golang.org" for "golang.org/x/sys/unix"

example.com/test,Unknown,Unknown

github.com/sirupsen/logrus,https://github.com/sirupsen/logrus/blob/master/LICENSE,MIT

golang.org/x/sys/unix,Unknown,BSD-3-Clause

最后幾行并不完美,但它確實看到 logrus 是 MIT 并提供了許可證的鏈接。我的缺少 LICENSE 文件的測試包當然會失敗。


從評論編輯 雖然以上對我有用,但這些是提問者需要執行的命令:


go build ./... 

./go-licenses csv ./...


查看完整回答
反對 回復 2022-05-23
  • 1 回答
  • 0 關注
  • 121 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號