运行 composer licenses 可列出项目所有依赖包声明的开源许可证,需在含 composer.json 的根目录执行;支持 --format=json、--no-dev、--tree 等选项;license 字段来自元数据,非源码分析,遇 unknown 或空值应人工核查 LICENSE 文件。

直接运行 composer licenses 即可列出当前项目所有依赖包声明的开源许可证。
该命令需要在包含 composer.json 的项目根目录下执行。如果提示 command not found,请先确认 Composer 是否全局可用,或改用 php composer.phar licenses(假设 composer.phar 在当前目录)。
默认输出会显示每个已安装依赖包的名称、版本和其 composer.json 中声明的 license 字段值,例如:
monolog/monolog 2.10.0 MITpsr/log 3.0.0 MITsymfony/console v6.4.7 MIT注意:它读取的是包元数据里的 license 值,不是自动分析源码内容;有些包可能写 MIT OR Apache-2.0 或 proprietary,需人工判断合规性。
可以加参数让结果更清晰或适配不同场景:
--format=json:输出 JSON 格式,方便脚本解析--no-dev:只显示生产环境依赖(排除 require-dev 中的包)--tree:以树形结构展示依赖关系,并附带许可证信息(Composer 2.5+ 支持)部分包维护者未严格填写 license,可能出现 unknown、空值或模糊描述(如 BSD 未注明具体版本)。遇到这类情况,建议手动查阅对应包的 README 或仓库根目录下的 LICENSE 文件确认。
基本上就这些。不复杂但容易忽略细节。
以上就是如何使用 composer licenses 命令列出所有依赖的开源许可证?的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号