使用composer/license-checker插件可查看依赖包许可证,安装后运行composer licenses;或手动检查composer.lock文件中的license字段;也可用PHP脚本解析composer.lock输出许可证信息。

要查看项目中依赖包的开源协议,Composer 本身没有内置直接列出所有包许可证的 licenses 命令,但你可以通过以下方式实现类似功能。
使用 composer/license-checker 扩展
这是一个常用的第三方插件,可以帮助你查看每个依赖包的许可证类型。
- 安装插件:
composer require --dev composer/license-checker - 运行检查:
composer licenses
执行后会列出所有已安装的包及其对应的许可证,例如 MIT、Apache-2.0、GPL 等。
手动查看 composer.lock 文件
如果你不想安装额外工具,可以直接查看 composer.lock 文件中的信息。
- 打开
composer.lock文件,找到packages或packages-dev列表 - 每个包条目中可能包含
license字段,如:"license": ["MIT"]或"license": ["proprietary"]
注意:并不是所有包都会明确声明 license,有些可能为空或写为 "proprietary"。
JTBC CMS(5.0) 是一款基于PHP和MySQL的内容管理系统原生全栈开发框架,开源协议为AGPLv3,没有任何附加条款。系统可以通过命令行一键安装,源码方面不基于任何第三方框架,不使用任何脚手架,仅依赖一些常见的第三方类库如图表组件等,您只需要了解最基本的前端知识就能很敏捷的进行二次开发,同时我们对于常见的前端功能做了Web Component方式的封装,即便是您仅了解HTML/CSS也
结合脚本快速提取许可证信息
你可以用简单的 PHP 脚本解析 composer.lock 并输出许可证情况:
$lock = json_decode(file_get_contents('composer.lock'), true);
foreach ($lock['packages'] as $pkg) {
$name = $pkg['name'];
$license = isset($pkg['license']) ? implode(', ', (array)$pkg['license']) : 'unknown';
echo "$name: $license\n";
}
保存为 show-licenses.php 并运行:php show-licenses.php
基本上就这些方法。虽然 Composer 没有原生命令叫 licenses,但借助插件或简单脚本,能轻松掌握项目依赖的开源协议情况。不复杂但容易忽略。









