假设我们有一个go.mod定义第三方依赖项的文件。该语言是否有某种功能或方法可以最好在没有第三方工具的情况下获取第三方许可证列表?不幸的是,我无法分享任何代码,因为我还没有找到任何潜在的解决方案。
例如我们有:
module github.com/myGoProject
require (
github.com/sirupsen/logrus v1.4.2
github.com/stretchr/testify v1.2.2
)
Run Code Online (Sandbox Code Playgroud)
我怎样才能得到输出:
麻省理工学院
麻省理工学院
我最近也不得不这样做,但没有找到任何“官方”的做法。我使用了一个go-license-detector针对我的供应商提供的第三方依赖项调用的工具来自动化大部分工作。
go mod vendor。这会将您的依赖项的所有源代码放入名为“vendor”的目录中。cd 进入您的供应商目录并运行:
license-detector `cat modules.txt |grep "^#" |cut -d' ' -f2`
这将license-detector针对每个下载的模块运行并输出每个模块的可能许可证列表。您将获得如下所示的输出:
github.com/influxdata/influxdb
91% MIT
github.com/influxdata/platform
99% MIT
84% MIT-feh
github.com/kr/logfmt
100% Unlicense
98% MIT
93% JSON
84% MIT-feh
Run Code Online (Sandbox Code Playgroud)
通常顶级许可证是正确的,但最好仔细检查每个许可证。
| 归档时间: |
|
| 查看次数: |
1035 次 |
| 最近记录: |