composer环境变量需composer_home与path协同:composer_home必须为绝对路径(如linux用/home/user/.composer,windows用c:\users\user\appdata\roaming\composer),决定全局配置及vendor/bin位置;path须添加$composer_home/vendor/bin(非composer.phar所在目录),设完需重启终端并用composer config --list --global和echo $path/%path%验证。

Composer 的环境变量不是“设一个就全局生效”,关键在 COMPOSER_HOME 和 PATH 两个变量的分工与配合,且 Windows 下极易因路径写错或终端未重启而失效。
COMPOSER_HOME 必须是绝对路径,不能含 ~ 或 $HOME
这个变量决定 Composer 全局配置、缓存、vendor/bin 的根目录。一旦设错,composer global require 安装的命令(如 laravel)会找不到,autoload 也跳过。
- Linux/macOS 正确写法:
/home/username/.composer(不是~/.composer) - Windows 正确写法:
C:\Users\username\AppData\Roaming\Composer(不是%APPDATA%\Composer) - 设完必须重启终端,否则 shell 仍读旧值
- 验证方式:
composer config --list --global,看 “Global configuration file” 路径是否与你设置的一致
PATH 要加的是 vendor/bin 目录,不是 composer.phar 所在目录
很多人把 C:\ProgramData\ComposerSetup\bin 加进 PATH,结果 laravel 命令仍报“不是内部或外部命令”——因为那只是 composer 自身的启动目录,真正放可执行文件的是 COMPOSER_HOME/vendor/bin。
工作流任务拆解与模型编排技能。使用场景:(1) 收到复杂工作任务需要拆解为可执行步骤,(2) 需要为不同步骤选择最合适的模型,(3) 需要跟踪工作流进度和模型使用情况,(4) 长时间任务卡住需要问题诊断和解决方案。
- Windows:把
%APPDATA%\Composer\vendor\bin(或你自定义的COMPOSER_HOME\vendor\bin)加进系统 PATH - Linux/macOS:把
$COMPOSER_HOME/vendor/bin加进~/.zshrc或~/.bashrc,然后source一次 - 加完新开终端,用
echo %PATH%(Windows)或echo $PATH(macOS/Linux)确认是否包含该路径
Windows 下 composer.bat 包装器比直接调用 php composer.phar 更可靠
直接运行 php composer.phar 容易卡住或报错,常见原因包括 PHP CLI 版本不一致、ext-zip 未启用、或找不到 php.ini。
- 官方安装包自带的
composer.bat会自动探测可用 PHP 并设置必要环境变量 - 若手动下载
composer.phar,建议在同一目录建composer.bat:@echo off php "%~dp0composer.phar" %* - 确保这个
.bat文件所在目录已加入 PATH,而不是只加了composer.phar的路径 - 多个 PHP 共存时,
where php查路径顺序,把想用的 PHP 目录移到 PATH 最前面,或在.bat中硬编码路径,如:C:\php82\php.exe "%~dp0composer.phar" %*
哪些 composer config --global 设置真能跨项目生效?
不是所有配置项都支持全局继承。很多开发者以为设了 minimum-stability 就一劳永逸,其实它只在当前项目有 composer.json 且未覆盖时才生效。
- 稳定全局生效的:
github-oauth、http-basic、process-timeout、fxp-asset(旧版)等基础行为控制项 - 容易误判但实际受限的:
minimum-stability、prefer-stable、platform—— 它们不会影响无composer.json的目录下直接运行的composer require - 验证当前生效值:
composer config --list --global和composer config --list对比,带 (global) 标记的才是全局设置
最常被忽略的点:COMPOSER_HOME 写错一个斜杠、PATH 没加对 vendor/bin、或者改完没重启终端——这三个地方任一出错,都会导致全局命令不可用,且错误现象高度相似,排查时得一个个排除。










