无法连接api.github.com致Laravel(Composer安装)失败,求解决方案
解决api.github.com连接超时导致Composer无法安装Laravel的问题
我之前折腾Laravel安装时也碰到过一模一样的api.github.com连接超时问题,试了好几种方法才解决,给你几个亲测有效的方案:
手动绑定hosts文件强制解析IP
很多时候是本地DNS解析api.github.com出错导致的,咱们手动指定正确IP就行:- 用管理员权限打开记事本,找到
C:\Windows\System32\drivers\etc\hosts文件 - 通过你能访问的在线IP查询工具,获取api.github.com的最新有效IP(比如常见的
140.82.113.6或192.30.255.116) - 在hosts文件末尾添加一行:
140.82.113.6 api.github.com(替换成你查到的IP) - 保存后打开命令行执行
ipconfig /flushdns刷新DNS缓存
- 用管理员权限打开记事本,找到
切换Composer国内镜像绕开api.github.com
国内访问GitHub的API经常不稳定,换成国内Composer镜像就能直接绕过这个问题:
打开命令行执行:composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/之后再执行Laravel安装命令:
composer create-project laravel/laravel your-project-name这个方法我用得最多,几乎每次遇到GitHub相关的Composer问题都能解决
更换公共DNS服务器
本地DNS服务商可能对api.github.com的解析有问题,换成全球通用的公共DNS试试:- 右键任务栏的网络图标,选择「网络和Internet设置」
- 找到当前连接的网络,点击「更改适配器选项」
- 右键你的网络连接(比如WLAN或以太网),选择「属性」
- 找到「Internet协议版本4 (TCP/IPv4)」,双击打开
- 选择「使用下面的DNS服务器地址」,首选填
8.8.8.8(谷歌DNS),备选填114.114.114.114(国内DNS) - 确定后重启网络再尝试安装
配置GitHub OAuth Token给Composer
如果是因为GitHub的API请求频率限制导致的连接失败,配置Token就能解决:- 登录GitHub,进入「Settings > Developer settings > Personal access tokens」
- 生成一个新的Token,只勾选
repo权限就行 - 打开命令行执行:
composer config -g github-oauth.github.com 你的Token字符串之后再尝试Laravel安装,Composer会用Token身份访问GitHub API,避免被限制
内容的提问来源于stack exchange,提问作者Metin Genç




