优先更换国内镜像、检查网络连接并设置GitHub Token可解决“Could not resolve host”问题。首先确认网络正常,尝试访问packagist.org或ping测试;若失败则更换DNS为8.8.8.8或1.1.1.1;配置阿里云或Laravel China镜像源提升稳定性;清除残留代理设置避免请求错误转发;必要时手动添加hosts解析记录并刷新缓存;最后创建GitHub Token防止API限流,综合以上步骤可有效修复Composer安装故障。

遇到 composer install 报错“Could not resolve host”时,通常是由于网络连接问题导致 Composer 无法访问远程仓库(如 packagist.org)。这个问题在某些地区或网络环境下较为常见。以下是几种有效的解决方法。
检查本地网络连接
确认你的设备可以正常访问外网:
- 尝试在浏览器中打开 https://packagist.org,看是否能加载页面。
- 在终端执行 ping packagist.org,检查域名是否可解析。
- 如果 ping 不通,可能是 DNS 解析问题,尝试更换 DNS 为 Google 的 8.8.8.8 或 Cloudflare 的 1.1.1.1。
配置 Composer 使用国内镜像
将默认源切换为国内镜像,可大幅提升下载速度并避免连接超时。
使用阿里云镜像(推荐):
composer config -g repos.packagist composer https://mirrors.aliyun.com/composer/
或者使用 Laravel China 镜像:
composer config -g repos.packagist composer https://packagist.laravel-china.org
设置后,所有项目都会走镜像源,无需逐个修改。
临时取消代理设置
如果你之前配置过 HTTP 代理,但当前环境不需要,可能会导致请求被错误转发。
- 查看是否设置了代理:echo $HTTP_PROXY 或 echo $HTTPS_PROXY。
- 临时取消代理:unset HTTP_PROXY HTTPS_PROXY。
- 也可通过 Composer 命令清除代理配置:composer config -g --unset http-proxy。
修改 hosts 文件强制解析
如果域名解析失败,可手动添加 hosts 记录。
编辑系统 hosts 文件:
- macOS/Linux: /etc/hosts
- Windows: C:\Windows\System32\drivers\etc\hosts
添加以下内容:
140.82.114.4 github.com 104.20.27.39 packagist.org
保存后刷新 DNS 缓存(如 macOS 执行 sudo dscacheutil -flushcache)。
使用 GitHub Token 避免限流
Composer 安装依赖时会调用 GitHub API,未认证容易被限流或连接失败。
- 前往 GitHub Token 页面 创建一个无作用域的 token。
- 运行命令设置:composer config -g github-oauth.github.com YOUR_TOKEN。










