根本原因是IPv6连接失败,强制启用IPv4栈可解决:通过日志确认IPv6地址报错后,用curl -v4验证IPv4连通性,再在PyCharm的.vmoptions文件末尾添加-Djava.net.preferIPv4Stack=true并重启。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

GitHub Copilot在PyCharm中报错“Network unreachable on IPv6”,本质是插件尝试通过IPv6地址连接api.github.com或copilot-proxy.githubusercontent.com时失败,而系统未正确配置IPv6路由或本地防火墙/网络策略主动拒绝了IPv6流量,此时强制走IPv4是最直接有效的绕过方式。
确认当前是否触发IPv6连接失败
打开PyCharm的IDE日志(Help → Show Log in Explorer),搜索关键词 Network unreachable on IPv6 或 java.net.ConnectException: Network is unreachable。若日志中紧随其后出现类似 fe80::1%lo0、2a04:4e42:: 等IPv6地址,则可确认问题根源确为IPv6栈异常。这一步不能跳过,因为部分报错看似是IPv6问题,实则是TLS证书校验失败或代理配置冲突,强行禁用IPv6反而会掩盖真实故障点。
在终端执行:curl -v4 https://api.github.com(注意是 -v4,不是 -4)。如果返回 HTTP 200 或 403,说明IPv4通路完好;若仍超时,则问题不在IPv6,而是网络本身或代理设置错误,应立即停止本流程并检查基础连通性。
修改PyCharm启动参数强制禁用IPv6
关闭PyCharm,找到其启动配置文件:
Windows:编辑 bin/pycharm64.exe.vmoptions(位于PyCharm安装目录的bin子文件夹);
macOS:右键PyCharm.app → 显示包内容 → Contents → bin → 编辑 pycharm.vmoptions;
Linux:编辑 bin/pycharm64.vmoptions。
在 OpenClaw 中管理 GitHub 仓库、Pull Request、Issue 与工作流。适用于审查 PR、管理 Issue、自动化 GitHub Actions、同步仓库等场景。
在文件末尾新增一行:-Djava.net.preferIPv4Stack=true。该参数会强制JVM所有网络连接优先使用IPv4协议栈,包括Copilot插件发起的HTTPS请求。⚠️注意:不要加空格、等号前后不要有空格,不要写成 -Djava.net.preferIPv4Stack = true,否则JVM将忽略该配置。
保存文件,重启PyCharm。此时插件新建的Socket连接将不再尝试解析或连接任何IPv6地址,彻底规避“Network unreachable on IPv6”错误。
验证IPv6是否已实际禁用
重启PyCharm后,在任意Python控制台或调试器中运行以下代码:
import socket; print(socket.getaddrinfo("api.github.com", 443, 0, 0, socket.IPPROTO_TCP))
观察输出:如果结果中只包含形如 (<socket.af_inet ...> 的元组(即 <strong>AF_INET</strong>,对应IPv4),而没有 <code>AF_INET6 条目,则说明配置生效。若仍有 AF_INET6 出现,说明vmoptions未被正确加载——常见原因是文件编码为UTF-8 with BOM,或路径下存在多个同名vmoptions文件(如pycharm64.exe.vmoptions与pycharm.exe.vmoptions共存),需逐一排查并删除冗余文件。
此时再触发Copilot补全,错误应消失。若仍报错,请检查是否同时启用了系统级IPv6隧道(如teredo)或安全软件劫持了localhost DNS解析,这些情况需单独处理。

















