composer怎么修改项目描述_composer.json项目描述修改方法

3次阅读

直接修改 composer.json 根级 description 字段即可生效,需为非空字符串、utf-8 编码、无 bom 和控制符,建议≤120 字;它影响 packagist 展示、composer search 匹配及 ide 提示,但不参与依赖解析。

composer怎么修改项目描述_composer.json项目描述修改方法

直接改 composer.json 里的 description 字段就行,不需要运行任何命令,改完即生效。

description 字段在哪、怎么写才合法

它必须是根级字段,和 nametype 同级,值只能是字符串(不能是空、NULL 或数组):

{     "name": "myvendor/myproject",     "description": "一个轻量的配置加载器,支持 YAML 和 JSON",     "type": "library",     ... }
  • 如果留空或删掉该字段,composer show 会显示 no description
  • 描述里别用换行符或制表符,JSON 不允许;中文没问题,但注意文件编码是 UTF-8
  • 长度没硬性限制,但 Packagist 网站展示时会截断,建议控制在 120 字以内

改完不生效?检查这几个地方

修改后发现 composer show myvendor/myproject 还是旧描述,常见原因:

  • 改的是本地项目根目录下的 composer.json,但你执行 show 查的是已安装的包(比如从 Packagist 下载的)——这时要先 composer update 或重装本地包:composer require --dev ./
  • 项目没提交到 Packagist/gitHub,别人 composer require 时拉的仍是旧版本;新描述只对后续 git tag 的版本生效
  • 编辑器保存了 BOM 头,导致 JSON 解析失败;用 composer validate 能立刻暴露这个问题

description 影响哪些地方

它不是装饰字段,实际参与多个关键环节:

  • Packagist 页面标题下方的摘要文案,直接影响搜索点击率
  • composer search 命令会匹配该字段(全文模糊匹配,不区分大小写)
  • 某些 IDE(如 phpstorm)在 require 补全时会把 description 当作提示文本
  • CI/CD 中若用 composer show --format=json 提取元信息,这个字段会被包含

真正容易被忽略的是:description 不参与依赖解析、不触发重安装、也不影响 autoloading —— 它纯粹是元数据,但一旦填错格式,composer validate 就会报错,连 install 都卡住。

text=ZqhQzanResources