composer 不支持中文文档路径配置,仅安装包内文件;文档语言版本由包作者决定,需用外部脚本或构建工具实现分离与部署。

Composer 本身不支持“中文文档存放路径”或“自动解压文档”这类功能——它只负责下载、安装和自动加载 PHP 包,不处理文档提取、语言版本选择或静态资源分发。
composer.json 里没有文档路径配置项
你无法在 composer.json 的 config 或 extra 段里写类似 "docs-dir": "zh-CN" 这样的字段。Composer 不识别、不解析、也不执行任何与文档路径相关的逻辑。
-
config.vendor-dir控制的是依赖包安装位置,不是文档 -
installer-paths(配合composer/installers)只对声明了特定type(如drupal-module、wordpress-plugin)的包生效,且前提是包自己在composer.json中声明了该 type - 普通 library 包(比如
monolog/monolog)默认 type 是library,不会被 installer-paths 规则匹配,更不会触发解压文档行为
所谓“中文文档”通常不在 Composer 包内
绝大多数开源 PHP 包的文档托管在 GitHub Wiki、ReadTheDocs、或项目根目录的 docs/、README.md 中,且极少提供多语言版本。即使有 zh_CN/ 目录,也属于源码一部分,会随包一起解压到 vendor/{vendor}/{package}/ 下——但这是包作者决定的,不是 Composer 配置出来的。
使用ydata-profiling(前身为pandas-profiling)生成全面的数据质量报告,包含相关性分析、缺失值模式和基数检测。导出交互式HTML仪表板和JSON摘要。
- Composer 安装时只解压包的
dist(zip/tar)或source(git clone),不会额外提取子目录、过滤语言、或重写路径 - 没有机制能告诉 Composer:“只取
docs/zh/,忽略docs/en/” - 如果你看到某包声称“支持中文文档”,那大概率是它把
docs/当作普通文件包含进发布包,解压后自然存在,无需额外配置
真要实现文档分离或自动解压,得靠外部工具链
想把文档单独拎出来、按语言归类、甚至自动解压渲染,必须跳出 Composer 生态,用脚本或构建工具补位:
- 用
post-install-cmd或post-update-cmd脚本,在composer install后执行cp -r vendor/foo/bar/docs/zh ./public/docs/foo/ - 借助
make、npm run docs:copy或 GitHub Actions 的actions/checkout+rsync拉取文档分支 - 用静态站点生成器(如 Docsify、VuePress)从
vendor/动态读取 markdown,但需自行处理路径映射和语言路由 - 如果包提供
.tar.gz文档包(极少见),可写 shell 脚本下载+解压,但和 Composer 完全无关
真正容易被忽略的一点:很多人以为改了 vendor-dir 就能顺便管住文档路径,其实文档始终跟着包走;哪怕你把 vendor 搬到 third-party/,third-party/foo/bar/docs/ 还是原样存在——它只是被移动了位置,不是被“配置”出来的。










