最近在使用 Package Manager 时发现打开Package Manager就会报错,提示连接不到 ‘api.unity.com’,导致无法刷新 Unity Register中的内容,也无法通过 url 安装外部包,非常恼火。
Unity的提示是说代理有问题,要去检查环境变量HTTP_PROXY和HTTPS_PROXY,然而我去看了一下,这俩都被添加过且设置为 127.0.0.1:7890
,并没有什么问题。
网上搜了很多方法,各种说法都有,于是做了以下尝试:
- 切换了几个不同版本Unity
- 检查环境变量中HTTP_PROXY、HTTPS_PROXY配置正确
- 检查了防火墙设置,入站规则中所有Unity Editor都是允许连接,甚至尝试关闭了防火墙
- 尝试UnityHub重新登录/重新获取许可证/重启UnityHub
- 尝试开启/关闭魔法、切换手机热点
- 尝试重装Unity Hub/Unity Editor
然而问题仍然没有解决(阿米诺斯
同时我可以ping通api.unity.com,但是无法curl。
尝试运行 Unity安装目录\Editor\Data\Resources\PackageManager\Diagnostics下的RunUnityPackageManagerDiagnostics.bat进行诊断:
真是红到家了,按照提示查看upm-diag.log报告:
看到7890端口基本就判断是代理问题了,然而即便关闭代理也没有用,实在让人百思不得其解。
一怒之下直接往国际社区发了求助
https://discussions.unity.com/t/package-manager-cannot-connect-to-api-unity-com/1517074
感谢老哥,问题解决了。原来是傻逼Unity把代理的 127.0.0.1 识别成了端口而并非地址,所以才会一直打 Invalid protocol 的log。
把环境变量的 127.0.0.1:7890
改成 https://127.0.0.1:7890
,问题解决!PackageManager也不会报错了。
被硬控一天半,差点给哥们红温到转UE去了。