ubuntu composer如何使用代理
小樊
42
2025-11-29 00:05:35
Ubuntu 下为 Composer 配置代理
一 准备与原则
- 准备代理的 IP 地址 与 端口(如公司代理或本机 SOCKS/HTTP 代理),必要时准备认证信息。Composer 支持通过环境变量或配置文件使用代理,且建议同时设置 HTTP 与 HTTPS,并配置 no_proxy 排除内网地址。若在企业内网,还需确保防火墙与代理策略允许访问外部资源。
二 方法一 设置环境变量(临时或持久)
- 当前终端会话临时生效(推荐先测试)
- HTTP 代理
- export http_proxy=http://代理地址:端口
- export https_proxy=http://代理地址:端口
- SOCKS5 代理(部分工具支持;若 Composer 走 curl 且支持,可用)
- export https_proxy=socks5://127.0.0.1:1080
- export http_proxy=socks5://127.0.0.1:1080
- 排除本地与内网
- export no_proxy=localhost,127.0.0.1,.example.com
- 全局持久生效(所有新开终端均生效)
- 写入用户配置文件(如 ~/.bashrc 或 ~/.zshrc)
- echo ‘export http_proxy=http://代理地址:端口’ >> ~/.bashrc
- echo ‘export https_proxy=http://代理地址:端口’ >> ~/.bashrc
- echo ‘export no_proxy=localhost,127.0.0.1,.example.com’ >> ~/.bashrc
- source ~/.bashrc
- 说明
- 变量名可用大小写形式(HTTP_PROXY/HTTPS_PROXY 亦可)。
- 若代理需要用户名密码:export http_proxy=http://用户名:密码@代理地址:端口。
三 方法二 使用 Composer 配置项
- 全局启用代理(所有项目生效)
- composer config -g http-proxy http://代理地址:端口
- composer config -g https-proxy http://代理地址:端口
- 仅当前项目启用
- 进入项目根目录后执行
- composer config http-proxy http://代理地址:端口
- composer config https-proxy http://代理地址:端口
- 取消代理
- 全局:composer config -g --unset http-proxy
- 全局:composer config -g --unset https-proxy
- 项目:composer config --unset http-proxy(在项目目录执行)
- 说明
- 上述为 Composer 内置的代理配置项,优先级通常高于环境变量(以实际环境为准)。
四 验证与常见问题
- 验证是否走代理
- 执行 composer config -g http-proxy 与 composer config -g https-proxy 查看是否生效;或在命令前临时导出变量后运行 composer diagnose/install,观察是否能正常解析与下载。
- 常见故障排查
- 连接被拒绝或超时:检查代理地址、端口、协议(HTTP/HTTPS/SOCKS)是否正确;必要时改用 SOCKS5 或确认公司代理策略。
- 本机代理未监听或被占用:确认本地代理(如 1080 端口)已启动且允许来自局域网的连接。
- localhost 被代理导致本地服务异常:确保 no_proxy 包含 localhost,127.0.0.1。
- 公司网络限制:联系 IT 管理员放行相关域名/端口或使用企业代理。
五 网络受限时的替代方案
- 切换国内镜像源(无需代理即可加速)
- 全局:composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
- 项目:在项目目录执行 composer config repo.packagist composer https://mirrors.aliyun.com/composer/
- 调整超时与重试
- composer config -g http-timeout 600
- composer install --prefer-dist --retry-auth-failure=false
- 清理缓存并重试
- composer clear-cache
- 必要时删除 vendor/ 与 composer.lock 后重新安装。