运行 which composer(Linux/macOS)或 where composer(Windows)确认真实路径;若无输出则用 command -v composer 或 type composer 检查 alias/函数;再按可执行文件→PHAR→缓存→PATH顺序彻底清理。
怎么确认
composer
真正装在哪?
别信“我记得是用 brew 装的”——很多人的
还能跑,但
一查,路径却是
,说明早被手动覆盖了。包管理器(
/
)只管它自己装的那层壳,不管你自己下载的
。
Linux/macOS:运行
;没输出就试
Windows:运行
,它会列出所有
或
匹配项
再补一刀:
—— 如果返回
或
,说明你 shell 里藏了 alias 或函数,得去
或
里翻
删文件比卸包更可靠,但顺序不能错
很多人先
,结果
还在响。因为 apt 卸的是包装脚本,真身早躺在
里吃灰了。必须按「可执行文件 → 配置目录 → PATH 引用」顺序清理,否则删一半,PATH 一刷新又活了。
删主文件:
(Linux/macOS),或对
每个结果逐个
(Windows)
删 PHAR 原文件(常被忽略):
、
、
删全局缓存目录:
(含 auth、镜像配置、全局包)、
、Windows 上删
和
PATH 和 shell 缓存是隐形复活点
删完文件,新开终端却报
,或者更诡异的
—— 很可能 PATH 还指着已删除路径,shell 也还记着旧哈希。
Composer 2.9.6
Composer 2.9.6 是 PHP 生态中高效、稳定的依赖管理工具。此版本在性能与兼容性上进一步优化,改进了依赖解析算法,提升大型项目中的安装与更新速度。它支持并行下载任务,显著减少等待时间,并增强了与私有仓库及镜像源的交互稳定性。同时修复了多项命令行交互与内存使用相关的缺陷,确保在复杂依赖关系下依然可靠运行。无论是新项目初始化还是现有系统维护,Composer 2.9.6 都能为开发者提供流畅、精准的依赖管理体验。
下载
查污染源:
,重点盯
这类行
删掉整行,然后
(macOS/Linux)或重启 CMD/PowerShell(Windows)
清命令缓存:
(Bash/Zsh),再开新终端验证
验证是否真的干净了
别只看
报错就收工。残留的
或 PATH 条目,会在你重装后立刻复现 token 错误、镜像失效、甚至
安装失败。
必须三连查:
(应报 command not found)、
(无输出)、
(应报 No such file or directory)
Windows 用户额外跑一次
,确保空输出
如果曾用过
,重装后别急着用,先
再装,否则可能沿用旧配置卡死
最常被跳过的其实是
和 shell 函数 alias —— 它们不占空间,但会让重装后的行为和预期不一致,问题拖到用的时候才暴露。
composer --versionwhich composer/usr/local/bin/composeraptbrewcomposer.pharwhich composercommand -v composerwhere composer.bat.exetype composercomposer is aliased tois a function~/.zshrc~/.bashrcsudo apt remove composercomposer --version/usr/local/bin/composersudo rm $(which composer)where composerdelrm /usr/local/bin/composer.pharrm ~/composer.phardel %USERPROFILE%\AppData\Roaming\Composer\vendor\bin\composer.batrm -rf ~/.composerrm -rf ~/.cache/composer%APPDATA%\Composer%LOCALAPPDATA%\Composer\Cachecommand not foundClass 'Composer\Autoload\ClassLoader' not foundgrep -n "composer\|bin" ~/.zshrc ~/.bashrc ~/.profile 2>/dev/nullexport PATH="$HOME/.composer/vendor/bin:$PATH"source ~/.zshrchash -d composercomposer --version~/.composercomposer global require laravel/installercomposer --versionwhich composerls ~/.composerwhere composercomposer global requirecomposer config -g repo.packagist https://mirrors.aliyun.com/composer/~/.cache/composer