取消 Composer 代理需全局执行 unset 命令——composer config –global –unset http-proxy 和 https-proxy,并检查环境变量、Windows 注册表及 IDE 设置,最后用 composer diagnose 验证。
直接结论:取消 Composer 代理配置,只需一条命令即可生效——但必须确认作用域是全局(--global),否则可能白操作。
确认代理是否真在起作用
很多人以为删了系统环境变量就完事了,其实 Composer 会优先读取自己的全局配置,哪怕 http_proxy 环境变量为空,它仍可能从 ~/.composer/config.json(Windows 是 %APPDATA%\Composer\config.json)里加载代理。先验证:
- 运行
composer config --global --list,查找是否有http-proxy或https-proxy字段 - 同时检查环境变量:
env | grep -i proxy(macOS/Linux)或Get-ChildItem Env: | Where-Object Name -like "*proxy*"(PowerShell) - 若两者都存在,以 Composer 全局配置为准;只清环境变量,代理照常走
正确删除代理配置的命令写法
composer config --unset 默认只删当前项目配置,对全局无效——这是最常踩的坑。取消代理必须加 --global:
- 清除 HTTP 代理:
composer config --global --unset http-proxy - 清除 HTTPS 代理:
composer config --global --unset https-proxy - 如果不确定键名是否准确,先用
composer config --global --list确认输出中是否存在对应字段 - 注意大小写和层级:
http-proxy≠httpproxy,也≠proxy.http
代理残留的隐藏位置与清理建议
即使删了 Composer 配置,某些场景下代理仍可能“复活”: