Composer怎么给项目添加描述_Composer.json基础字段填写【说明】

1次阅读

description 字段必须填写非空字符串,否则 Packagist 显示“No description”且无法被搜索;同时需补全 name、type、license、autoload 四个关键字段以确保项目可发现与正确加载。

Composer怎么给项目添加描述_Composer.json基础字段填写【说明】

composer.json 中的 "description" 字段不是可选装饰项——它直接影响 Packagist 页面展示、ide 提示、依赖分析工具识别,甚至某些 CI/CD 流程校验。没填或填空字符串,会导致包在 Packagist 上显示 “No description” 且无法被按关键词搜索到。

description 字段必须是字符串,不能为空或 NULL

Composer 不会报错,但 Packagist 会忽略该包的描述信息,且 composer show vendor/package 输出中 description 为空行。

  • ✅ 正确写法:"description": "A lightweight http client for php"
  • ❌ 错误写法:"description": """description": nulljson 语法不合法)或省略该字段
  • ⚠️ 注意:描述应简洁(建议 ≤ 120 字符),避免营销话术,聚焦功能本质,比如 “Implements PSR-18 async HTTP client” 比 “The best, fastest, most awesome HTTP lib ever!” 更有效

除了 description,这 4 个字段也建议一并补全

仅填 description 不足以让项目被良好识别;Packagist 和静态分析工具(如 PHPStan 扩展扫描)依赖完整元数据。

  • "name":必须符合 vendor/package 格式,且全小写、无空格、仅含字母数字和短横线(myorg/http-client ✅,MyOrg/HttpClient ❌)
  • "type":明确类型便于自动处理,如 "library""wordpress-plugin""metapackage";默认是 "library",但显式声明更稳妥
  • "license":必须是 SPDX 标识符(如 "MIT""GPL-2.0-or-later"),填 "proprietary""unlicensed" 也可,但后者会让 Packagist 标红警告
  • "autoload":哪怕只是 PSR-4 基础配置,也应存在,否则 Composer 不加载你的类 —— 常见错误是路径末尾多加了 /src命名空间没对齐

composer init 生成基础结构时,description 容易被跳过

composer init 交互流程中,description 是可选步骤,默认回车即留空。一旦跳过,后续不会自动提醒补全。

  • 运行时主动输入描述:在提示 Package Description []: 时别直接回车,敲一句实质内容
  • 已有 composer.json 补填:手动编辑,确保字段在顶层 JSON 对象中,与其他字段同级(不在 requireautoload 内部)
  • 验证是否生效:执行 composer validate 只检查 JSON 合法性,不校验 description 是否为空;真正验证得看 composer show --all | grep description 或提交后观察 Packagist 页面

description 看似微小,但它是一切外部发现流程的起点。漏掉它,等于把项目藏在没标签的抽屉里——你自己知道在哪,别人搜不到,工具也认不出。

text=ZqhQzanResources