composer licenses 命令用于查看 PHP 项目中所有已安装依赖的许可证信息,包括名称、版本、许可证类型及路径;2. 可通过 --format=json、--no-dev、--verbose 等选项增强输出可读性或适配自动化处理;3. 实际应用于项目审计、合规检查及第三方组件声明文档生成,建议在新增或更新依赖后定期执行以管控开源合规风险。

在使用 Composer 管理 PHP 项目依赖时,了解第三方库的许可证类型非常重要,尤其是在合规和商业发布场景中。Composer 提供了 licenses 命令,用于查看项目中所有已安装依赖包的许可证信息。
composer licenses 命令基本用法
运行以下命令即可查看当前项目中所有依赖包的许可证详情:
composer licenses该命令会列出每个已安装包的名称、版本、许可证类型以及许可证文件所在路径(如果存在)。
输出内容说明
执行命令后,输出通常包含以下几列信息:
- Name:包的名称,如 monolog/monolog
- Version:安装的版本号,如 v3.0.0
- License:许可证类型,如 MIT、Apache-2.0、BSD-3-Clause 等
若某个包未声明许可证,对应字段会显示为 unknown 或留空,需特别注意这类情况。
附加选项增强可读性
你可以结合选项让输出更清晰或便于处理:
- --format=json:以 JSON 格式输出,适合程序解析
- --no-dev:仅显示生产环境依赖的许可证,忽略开发依赖
- --verbose:显示更详细的信息,包括许可证文本摘要(部分情况下)
示例:只查看正式依赖的 JSON 格式许可证信息
composer licenses --no-dev --format=json实际应用场景
这个命令常用于:
- 项目审计时确认是否引入了 GPL 等限制性较强的许可证
- 准备产品发布前检查所有依赖的合规性
- 生成第三方开源组件声明文档
建议定期运行 composer licenses,特别是在新增或更新依赖后,确保项目始终符合组织的法律要求。
基本上就这些。掌握这个命令能帮你更好管理项目的开源合规风险。不复杂但容易忽略。










