删除软链接/usr/local/bin/composer即可,注意勿误删目标文件composer.phar;随后清理~/.composer、~/.cache/composer及全局bin残留二进制,并刷新shell缓存与PATH。

which composer 返回的是软链接,直接 rm 就行
运行 which composer 如果输出类似 /usr/local/bin/composer,且 ls -l /usr/local/bin/composer 显示箭头指向 composer.phar(如 composer -> composer.phar),说明这是个软链接。它本身不占实际代码体积,删掉不影响任何功能。
执行:sudo rm /usr/local/bin/composer
注意:别误删目标文件 composer.phar(如果它和软链接在同一目录下,ls -l 会清楚显示两者关系)。
删完软链接后还提示 command not found?检查 PATH 和 hash 缓存
即使软链接已删,终端仍可能“记住”旧路径,尤其用过 hash -d composer 或刚改过 shell 配置。
- 运行
hash -l查看是否缓存了composer路径;有则执行hash -d composer - 检查
PATH是否包含残留路径:echo $PATH | grep composer - 确认没在
~/.bashrc、~/.zshrc或~/.profile里写过类似export PATH="$HOME/.composer/vendor/bin:$PATH"的行——有就删掉,然后source ~/.zshrc(按你实际 shell)
~/.composer 和 ~/.cache/composer 必须一起清
软链接只是入口,Composer 的配置、全局包、缓存全在用户目录下。只删链接等于只拔了电源线,设备还在抽屉里。
务必执行:
rm -rf ~/.composerrm -rf ~/.cache/composer(Linux/macOS)rm -rf ~/Library/Caches/composer(macOS 另一常见路径)
Windows 用户对应清理:%LOCALAPPDATA%\Composer\cache 和 %APPDATA%\Composer
特别注意:~/.config/composer/ 在部分 XDG 兼容环境(如某些 Linux 发行版或新版 macOS Homebrew 环境)中也可能存在,建议 ls -a ~ | grep composer 扫一遍。
全局 bin 目录残留可执行文件最常被忽略
哪怕 ~/.composer 删干净了,~/.composer/vendor/bin/ 下的二进制(如 laravel、phpunit)可能还留在 PATH 里,导致你以为卸载失败。
验证方式:which laravel 或 ls -l ~/.composer/vendor/bin/
若发现残留,直接删:rm ~/.composer/vendor/bin/laravelrm ~/.composer/vendor/bin/phpunit
这步不做,重装 Composer 后新 laravel 命令可能根本不起作用——旧二进制会优先被调用,而它指向已不存在的 autoload.php。











