composer licenses 命令可查看项目依赖的许可证信息,支持文本和 JSON 格式输出,帮助识别 GPL 等高风险许可证,结合工具与规范实现合规管控。

Composer 的 licenses 命令用于查看项目中所有已安装依赖包的许可证信息。这个命令能帮助开发者快速了解当前项目所使用的第三方库都采用了哪些开源许可证,对于合规审查、企业法律风控或开源政策遵循非常实用。
查看所有依赖的许可证
在项目根目录运行以下命令:
composer licenses
执行后会列出每个已安装包的名称、版本、许可证类型(如 MIT、Apache-2.0、GPL 等)以及许可证文件是否存在。输出内容简洁明了,便于快速浏览。
以 JSON 格式输出便于分析
如果需要将结果导入其他工具处理,可以加上 --format=json 参数:
composer licenses --format=json
这样可以得到结构化数据,方便脚本解析或生成报告,适合集成到 CI/CD 流程中做自动化许可证检查。
识别潜在风险许可证
某些许可证具有传染性(如 GPL),可能对闭源项目构成法律风险。通过 composer licenses 可以快速发现项目中是否引入了这类许可的组件,及时做出调整或申请例外审批。
- M涉强传染性许可证:GPL、AGPL
- 商业使用需谨慎:LGPL(动态链接限制)
- 通常安全:MIT、BSD、Apache-2.0(注意保留声明)
结合策略管理依赖合规
虽然 Composer 本身不提供许可证拦截功能,但你可以:
- 定期运行
composer licenses审查依赖 - 配合静态分析工具或专用扫描器(如 FOSSA、Snyk)增强管控
- 制定团队规范,禁止引入特定类型的许可证
基本上就这些。这个命令不复杂,但在合规场景下非常关键,尤其适用于需要严格控制开源使用的企业项目。










