在 composer.json 中需用 "license" 字段声明许可证(支持字符串或数组,推荐 SPDX 标识符),并用 "authors" 数组列出作者信息(每项至少含 "name",建议补充 "email" 和 "role"),二者均为 Packagist 展示与合规扫描的关键元数据。

在 composer.json 中指定许可证和作者信息,只需在根对象中添加 "license" 和 "authors" 字段即可,它们是 Composer 官方支持的标准字段,用于声明项目元数据,对包分发、依赖解析和 Packagist 展示都很重要。
设置 license 字段
"license" 接受字符串或字符串数组。单个许可证直接写名称(如 "MIT"),多个许可证用数组表示(表示“可任选其一”)。
- 常用值包括:
"MIT"、"GPL-2.0-or-later"、"Apache-2.0"、"proprietary"(专有/闭源) - 推荐使用 SPDX 许可证标识符,确保兼容性和自动识别
- 不建议写自定义描述(如
"See LICENSE file"),这不利于工具解析;实际许可文本应放在项目根目录的LICENSE或LICENSE.md文件中
填写 authors 数组
"authors" 是一个对象数组,每个作者对象至少包含 "name",推荐补充 "email" 和 "role"(如 "Developer"、"Maintainer")。
-
"name"必填,为真实姓名或组织名 -
"email"可选但强烈建议提供,便于联系 -
"homepage"和"role"是可选字段,适合说明贡献性质 - 多人维护时,按主要贡献者顺序列出,Packagist 等平台会展示第一位作者作为主要联系人
完整示例片段
以下是一个典型的配置片段:
{
"name": "myvendor/myproject",
"description": "A sample project",
"license": "MIT",
"authors": [
{
"name": "张三",
"email": "zhangsan@example.com",
"role": "Lead Developer"
},
{
"name": "李四",
"email": "lisi@example.com",
"role": "Contributor"
}
]
}
验证与注意事项
修改后建议运行 composer validate 检查 JSON 格式和字段合法性。Composer 不强制要求这两个字段,但缺失会影响 Packagist 上的显示完整性,并可能被某些合规扫描工具标记为信息不全。
基本上就这些 —— 写清楚 license 和 authors,既符合规范,也方便协作和合规管理。










