Composer是PHP工具,必须先确保php -v可执行且openssl/curl扩展启用,再用Composer-Setup.exe安装并勾选“Add to PATH”,安装后需新开终端验证composer --version,并配置国内镜像源。

php -v 都报错,别急着装 Composer
Composer 是 PHP 工具,不是独立程序。没 php.exe,它连启动都做不到。先在 CMD 或 PowerShell 里运行 php -v:
- 如果提示“不是内部或外部命令”,说明
php.exe所在目录(比如C:\php或D:\xampp\php)没加进系统Path环境变量 - 如果能输出版本但带警告(如 “Unable to load dynamic library 'php_openssl.dll'”),要打开
php.ini,确认这三行已取消注释:extension=php_openssl.dllextension=php_curl.dllextension=php_zlib.dll - 用 XAMPP/WAMP 的用户,直接运行控制面板里的“Shell”按钮,它会自动加载环境变量,
php -v就能通——但这只是临时方案,全局调用仍需配 Path
用 Composer-Setup.exe 安装,但 PATH 很可能没写进去
官网下载 Composer-Setup.exe 是最省事的方式,但它勾选了 “Add to PATH” 并不等于真的写进了系统变量。Windows 权限、UAC 提示被跳过、杀毒软件拦截,都会导致写入失败。
- 安装时手动指定
php.exe路径(哪怕它自动检测到了,也点开再选一次,避免路径含空格或中文) - 安装完成后,不要立刻验证;先去「系统属性 → 高级 → 环境变量」,在「系统变量」的
Path里搜索ComposerSetup,确认存在C:\ProgramData\ComposerSetup\bin - 如果没找到,手动新建这一项;注意
C:\ProgramData是隐藏文件夹,得在地址栏直接粘贴路径才能访问 - 改完必须关闭所有已打开的终端(CMD/PowerShell/VS Code 内置终端),再新开一个——旧进程不会读新 Path
composer --version 成功了,但 laravel 命令还是找不到
这是两个完全独立的 PATH 问题。composer 命令来自 C:\ProgramData\ComposerSetup\bin,而 laravel 这类全局命令是 composer global require laravel/installer 装出来的,实际二进制在 %APPDATA%\Composer\vendor\bin。
工作流任务拆解与模型编排技能。使用场景:(1) 收到复杂工作任务需要拆解为可执行步骤,(2) 需要为不同步骤选择最合适的模型,(3) 需要跟踪工作流进度和模型使用情况,(4) 长时间任务卡住需要问题诊断和解决方案。
- 运行
composer config --global home查出全局根目录,拼上\vendor\bin就是真实路径(例如C:\Users\Alice\AppData\Roaming\Composer\vendor\bin) - 这个路径默认不在任何 Path 变量里,必须手动加到「用户变量」的
Path中(别加到系统变量,避免权限冲突) - 加完同样要关掉所有终端重开,再运行
echo %PATH%确认该路径已生效 - 如果
laravel.bat文件在那个目录下不存在,说明global require没成功执行,或该包没声明"bin"字段
第一次 composer install 卡在 “Loading composer repositories…”
这不是网络连不上,而是默认源 https://packagist.org 在境外,Windows 下 TLS 握手 + DNS 解析慢,尤其开了某些代理或企业防火墙时更明显。
- 执行
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/切阿里云镜像(中科大、腾讯云镜像同理) - 切完别信“已经生效”,运行
composer diagnose,看输出里Repo packagist is default是否变成Repo packagist is private,这才是真切换成功 - 如果项目里
composer.json自己写了"repositories"字段,它会覆盖全局镜像设置,得删掉或改成国内地址 - 镜像不是万能的:有些私有包、dev 分支、或用了
path类型仓库的项目,依然会走原始地址,这时候得单独处理
真正卡住的点往往不在安装步骤本身,而在 PATH 的两级配置(Composer 自身 + global vendor bin)、PHP 扩展的启用状态、以及镜像配置是否被项目级设置覆盖。每一步验证都要用对应命令实打实看输出,而不是“我以为装好了”。

















