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

要查看项目中依赖包的开源协议,Composer 本身没有内置直接列出所有包许可证的 licenses 命令,但你可以通过以下方式实现类似功能。
这是一个常用的第三方插件,可以帮助你查看每个依赖包的许可证类型。
composer require --dev composer/license-checker
composer licenses
执行后会列出所有已安装的包及其对应的许可证,例如 MIT、Apache-2.0、GPL 等。
如果你不想安装额外工具,可以直接查看 composer.lock 文件中的信息。
composer.lock 文件,找到 packages 或 packages-dev 列表license 字段,如:"license": ["MIT"] 或 "license": ["proprietary"]
注意:并不是所有包都会明确声明 license,有些可能为空或写为 "proprietary"。
你可以用简单的 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,但借助插件或简单脚本,能轻松掌握项目依赖的开源协议情况。不复杂但容易忽略。
以上就是Composer licenses命令查看依赖包的开源协议的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号