composer全局可用需将composer可执行文件加入path,且global安装的工具(如laravel)的二进制路径(默认~/.composer/vendor/bin)也须加入path;国内需配置阿里云镜像并清缓存。

全局安装 Composer 本身不是“装一个东西让所有命令都可用”,而是两件事:把 composer 命令放系统 PATH 里(让它 anywhere 都能敲),再把 composer global require 装的工具(比如 laravel、hyperf)的二进制文件也放进 PATH——否则装了也用不了。
composer 命令本身怎么全局可用
本质就是让 shell 找得到 composer 这个可执行文件。它不依赖 PHP 环境变量,只依赖系统 PATH。
- Linux/macOS:下载
composer.phar后必须加执行权限:chmod +x composer.phar,再移到/usr/local/bin/composer - Windows:推荐用
composer.bat包裹调用,路径建议选C:\ProgramData\ComposerSetup\bin\composer.bat(避免用户目录带空格或中文) - PATH 没生效是最大坑:改完
~/.zshrc或系统环境变量后,必须新开终端,echo $PATH或echo %PATH%确认路径已包含 - 验证不是只看
composer --version,更要看composer diagnose——它会报出 CA 证书缺失、home 目录不可写等静默失败点
全局工具(如 laravel、hyperf)为什么装了还 command not found
因为 composer global require 只是把包放进 ~/.composer/vendor/,它的可执行脚本(比如 laravel)实际软链接在 ~/.composer/vendor/bin/,这个目录默认不在 PATH 里。
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
- 必须手动把该 bin 目录加进 PATH:
export PATH="$HOME/.composer/vendor/bin:$PATH"(Linux/macOS);Windows 加%APPDATA%\Composer\vendor\bin - 如果改过
COMPOSER_HOME(比如composer config --global home /opt/composer),那 bin 路径就变成/opt/composer/vendor/bin,PATH 也得同步改 - 查当前 bin 目录真实路径用:
composer global config bin-dir --absolute,别猜 -
composer global list能看到装了啥,但看不到命令名是否匹配预期——有些包 bin 字段只写phpunit,不会因你装的是 phpunit7 就自动变名
国内网络下不配镜像=大概率卡死在 Resolving dependencies
这不是 Composer 慢,是 packagist.org 的 DNS 和连接被干扰导致超时。换镜像不是“提速”,是“能不能走通”的问题。
- 全局生效(推荐):
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/ - 换完立刻清缓存:
composer clear-cache,否则旧源还在内存里继续试 - 阿里云镜像偶尔有几小时同步延迟,如果某个新版本死活拉不到,临时切回官方源:
composer config -g --unset repos.packagist - 项目级覆盖(比如团队规范)用无
-g的:composer config repo.packagist ...,注意它只影响当前目录
最常被忽略的一点:全局工具的可执行文件是软链接,不是复制。删掉 ~/.composer/vendor,所有 laravel、hyperf 命令立刻消失,PATH 再对也没用。










