composer install --help无效,因composer不支持gnu风格全局--help开关,仅识别composer help install;其输出含usage、arguments、options、examples四区块,需重点关注方括号选项(如[--no-scripts])和必选参数标识。

composer help install 是唯一可靠的方式,其他写法基本无效。
为什么不能用 composer install --help
Composer 不支持 GNU 风格的 --help 全局开关。你敲 composer install --help,它会把 --help 当作 install 命令的一个参数传进去,结果不是显示帮助,而是照常执行安装流程(可能还报错说找不到 composer.lock)。真正被识别的帮助入口只有 help 这个独立命令,且必须放在第一位。
composer help install 输出里哪些信息最该盯住
它分四块:Usage、Arguments、Options、Examples。重点关注:
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
-
Usage行里的方括号和尖括号:[--no-scripts]表示可选布尔开关,是错误写法——实际是--prefer-source(无尖括号),而[packages...]根本不适用于install,说明它不接受包名参数 -
Options中的--no-dev:跳过require-dev里的包,但不会删掉composer.lock里已记录的 dev 包,下次update还可能拉回来 -
Examples里的composer install --no-interaction:适合 CI 环境,但本地执行前得确认composer.lock已存在,否则直接失败
常见误操作与对应现象
这些情况不是 bug,是上下文或权限问题:
- 在空目录或没有
composer.json的目录下运行composer help install,会报Could not find a composer.json file—— 加--no-plugins可绕过(composer help install --no-plugins),但部分插件相关的选项会消失 - 终端宽度太小(比如 Windows CMD 默认 80 列),导致
Options描述被截断 —— 改用Windows Terminal或临时加composer help install | more - 刚升级 Composer 2.x 后发现某些选项(如
--with-all-dependencies)help 里没写 —— 它只出现在composer help update里,install命令本身不支持这个参数
install 默认行为依赖 composer.lock 文件是否存在且有效。help 文档不会提醒你:如果 lock 文件里记录了某个包的 git commit hash,但本地缓存损坏,install 仍会卡在“Cloning XXX”,而不是自动 fallback 到 zip 下载 —— 这类底层行为得看 issue 讨论,不在 help 范围内。










