不能。composer show仅输出包名、版本、描述等基本信息,不包含更新日志;需用composer show vendor/package -s获取source.url,再手动访问GitHub/GitLab的/releases或/CHANGELOG.md页面查阅。

composer show 命令能直接显示中文包的更新日志吗?
不能。默认 composer show 只输出包的基本信息(名称、版本、描述、依赖等),不包含更新日志(changelog)。即使包名或描述是中文,也不会自动抓取或渲染 CHANGELOG.md 或 release notes。
怎么用命令行快速定位并查看中文包的 changelog?
关键是绕过 Composer 本身,直接查源码托管平台。大多数中文包(如 overtrue/wechat、laravel-s)托管在 GitHub/GitLab,其更新日志通常放在:
-
CHANGELOG.md(根目录或docs/下) - GitHub Releases 页面(
https://github.com/{vendor}/{package}/releases) - 标签页的
releases或tags列表
实操建议:
- 先用
composer show {vendor}/{package}确认包的源地址(看source字段) - 复制
source.url(通常是 git URL),替换git@或https://协议为浏览器可访问格式,例如:https://github.com/overtrue/wechat - 手动加
/releases后缀访问 —— 这是最可靠、最接近“更新日志”的页面
有没有办法自动化打开中文包的 release 页面?
可以写个 shell 别名,避免重复拼接 URL。以 macOS/Linux 为例,在 ~/.zshrc 或 ~/.bashrc 中添加:
alias composer-release='composer show $1 | grep "source.url" | sed "s/.*source.url *: //; s/\.git$//" | xargs -I {} open {}'/releases'
然后执行:composer-release overtrue/wechat 就会自动用浏览器打开对应 release 页面。
注意点:
- Windows 用户需改用
start替代open,且grep/sed需通过 Git Bash 或 WSL 提供 - 部分包(如私有包、GitLab 托管)URL 格式不同,
/releases路径可能要换成/-/releases - Composer 不解析中文包名的语义,“中文”在这里只是指包内容或作者语言,工具链本身无特殊处理
为什么不用 composer-changelog 插件?
历史上存在过 composer-changelog 这类插件,但它们依赖包作者规范地维护 CHANGELOG.md 路径,并且无法适配 GitHub Releases API 的鉴权和分页。现在基本已弃用,官方也未集成类似功能。
真正省时间的做法,是养成习惯:查更新日志 → composer show 拿 source → 浏览器开 /releases。比装插件、记命令、试路径更快更稳。
别指望 Composer 自己懂“中文包”有什么特殊待遇——它只认 vendor/name,其余全靠你手快眼尖。


















