如何使用composer licenses命令查看项目依赖许可证详情?
- 内容介绍
- 文章标签
- 相关推荐
本文共计783个文字,预计阅读时间需要4分钟。
若想查看当前PHP项目中所有依赖包的许可证信息,可以使用Composer提供的`licenses`命令来获取详细列表。该命令会输出每个已安装包所使用的许可证类型,帮助您确认项目的依赖是否符合特定的许可要求。以下是使用该命令的示例:
本文运行环境:MacBook Pro,macOS Sonoma
一、基本用法:显示所有依赖的许可证信息
执行 composer licenses 命令可在终端中列出当前项目中所有已安装的依赖包及其对应的许可证类型。该命令从 composer.lock 文件中读取已安装的包信息,并展示其声明的许可证。
1、打开终端并进入您的 PHP 项目根目录。
2、运行以下命令:
composer licenses
二、使用 --format 参数自定义输出格式
licenses 命令支持通过 --format 参数指定输出格式,便于在脚本中处理或导出结果。可用格式包括 table(表格)、plain(纯文本)、json(JSON 格式)等。
1、以 JSON 格式输出许可证信息,方便程序解析:
composer licenses --format=json
2、以简洁的纯文本格式输出,适合日志记录:
composer licenses --format=plain
3、明确以表格形式展示(默认格式),视觉清晰:
composer licenses --format=table
三、使用 --no-dev 排除开发依赖
若仅关注生产环境依赖的许可证,可添加 --no-dev 选项,使命令忽略 require-dev 中声明的包。
1、执行命令排除开发依赖:
composer licenses --no-dev
2、结合格式参数输出非开发依赖的 JSON 数据:
composer licenses --no-dev --format=json
四、使用 --strict 检查缺失许可证的依赖
某些第三方包可能未正确声明许可证。启用 --strict 可让命令在发现无许可证信息的包时返回非零退出码,适用于 CI/CD 流水线中的合规检查。
1、运行严格模式检查:
composer licenses --strict
2、若存在未声明许可证的包,命令将中断并提示错误,可用于自动化阻断流程。
五、结合 --min 列出特定许可证类型的依赖
使用 --min 参数可简化输出,仅显示包名和许可证名称,适用于快速审查场景。
1、精简输出内容,便于浏览:
composer licenses --min
2、该模式下每行列出包名、版本和许可证简称,信息紧凑。
本文共计783个文字,预计阅读时间需要4分钟。
若想查看当前PHP项目中所有依赖包的许可证信息,可以使用Composer提供的`licenses`命令来获取详细列表。该命令会输出每个已安装包所使用的许可证类型,帮助您确认项目的依赖是否符合特定的许可要求。以下是使用该命令的示例:
本文运行环境:MacBook Pro,macOS Sonoma
一、基本用法:显示所有依赖的许可证信息
执行 composer licenses 命令可在终端中列出当前项目中所有已安装的依赖包及其对应的许可证类型。该命令从 composer.lock 文件中读取已安装的包信息,并展示其声明的许可证。
1、打开终端并进入您的 PHP 项目根目录。
2、运行以下命令:
composer licenses
二、使用 --format 参数自定义输出格式
licenses 命令支持通过 --format 参数指定输出格式,便于在脚本中处理或导出结果。可用格式包括 table(表格)、plain(纯文本)、json(JSON 格式)等。
1、以 JSON 格式输出许可证信息,方便程序解析:
composer licenses --format=json
2、以简洁的纯文本格式输出,适合日志记录:
composer licenses --format=plain
3、明确以表格形式展示(默认格式),视觉清晰:
composer licenses --format=table
三、使用 --no-dev 排除开发依赖
若仅关注生产环境依赖的许可证,可添加 --no-dev 选项,使命令忽略 require-dev 中声明的包。
1、执行命令排除开发依赖:
composer licenses --no-dev
2、结合格式参数输出非开发依赖的 JSON 数据:
composer licenses --no-dev --format=json
四、使用 --strict 检查缺失许可证的依赖
某些第三方包可能未正确声明许可证。启用 --strict 可让命令在发现无许可证信息的包时返回非零退出码,适用于 CI/CD 流水线中的合规检查。
1、运行严格模式检查:
composer licenses --strict
2、若存在未声明许可证的包,命令将中断并提示错误,可用于自动化阻断流程。
五、结合 --min 列出特定许可证类型的依赖
使用 --min 参数可简化输出,仅显示包名和许可证名称,适用于快速审查场景。
1、精简输出内容,便于浏览:
composer licenses --min
2、该模式下每行列出包名、版本和许可证简称,信息紧凑。

