如何通过Composer status命令查看本地项目改动详情?
- 内容介绍
- 文章标签
- 相关推荐
本文共计940个文字,预计阅读时间需要4分钟。
它根本没检查你修改的那个包。默认情况下,Composer 安装的绝大多数包都是 dist 模式(zip 解压)的,路径是 vendor/xxx 目录下,且该目录下没有 .git 文件。而 composer status 只扫描带有 .git 的目录——这也就是为什么即使使用了 --prefer-source 安装的包,也不会出现在列表中——因为这些包的实际安装目录是 src。
验证方式很简单:composer show monolog/monolog,如果输出里没有 source 字段,说明这个包当前就是 dist 模式,status 对它完全静音。
- 私有包若在
composer.json中漏写"type": "package"或没配"source",即使本地有 Git 仓库,Composer 也不会识别 -
prefer-dist是默认行为,90% 以上的 Packagist 包都走 zip 下载 - 想让它检测到修改,必须先重装为 source 模式:
composer update --prefer-source monolog/monolog
怎么让 composer status 真正显示 modified?
核心动作只有一个:把目标包切换成 source 模式。否则 status 就是摆设。旧的 dist 包不会自动转 source,必须重装。
本文共计940个文字,预计阅读时间需要4分钟。
它根本没检查你修改的那个包。默认情况下,Composer 安装的绝大多数包都是 dist 模式(zip 解压)的,路径是 vendor/xxx 目录下,且该目录下没有 .git 文件。而 composer status 只扫描带有 .git 的目录——这也就是为什么即使使用了 --prefer-source 安装的包,也不会出现在列表中——因为这些包的实际安装目录是 src。
验证方式很简单:composer show monolog/monolog,如果输出里没有 source 字段,说明这个包当前就是 dist 模式,status 对它完全静音。
- 私有包若在
composer.json中漏写"type": "package"或没配"source",即使本地有 Git 仓库,Composer 也不会识别 -
prefer-dist是默认行为,90% 以上的 Packagist 包都走 zip 下载 - 想让它检测到修改,必须先重装为 source 模式:
composer update --prefer-source monolog/monolog
怎么让 composer status 真正显示 modified?
核心动作只有一个:把目标包切换成 source 模式。否则 status 就是摆设。旧的 dist 包不会自动转 source,必须重装。

