简体   繁体   English

尽管明确设置了代理,flutter 在代理后运行仍无法下载 gradle 依赖项

[英]flutter run behind proxy fails to download gradle dependency despite setting proxy explicity

Flutter is supposed to use proxy env vars when fetching dependencies but it fails to do so. Flutter 应该在获取依赖项时使用代理环境变量,但它没有这样做。

> $env:http_proxy="127.0.0.1:8090"
> $env:https_proxy="127.0.0.1:8090"
> $env:NO_PROXY="localhost,127.0.0.1"

> flutter create app
> cd app
> flutter run

FAILURE: Build failed with an exception.

* What went wrong:
A problem occurred configuring root project 'android'.
> Could not resolve all artifacts for configuration ':classpath'.
   > Could not find com.android.tools.build:gradle:3.5.0.
     Searched in the following locations:
       - https://dl.google.com/dl/android/maven2/com/android/tools/build/gradle/3.5.0/gradle-3.5.0.pom
       - https://dl.google.com/dl/android/maven2/com/android/tools/build/gradle/3.5.0/gradle-3.5.0.jar
     Required by:
         project :

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 3s

I know using a VPN is an option too.我知道使用 VPN 也是一种选择。 But I prefer to use a proxy.但我更喜欢使用代理。 OS: Windows 10操作系统:Windows 10

If you are behind proxy you have to set proxy for gradle explicitly AGAIN which means gradle doesn't respect env vars that is kind of annoying.如果您在代理后面,则必须再次明确为gradle设置代理,这意味着gradle不尊重环境变量,这有点烦人。 anyway here you go.无论如何,你在这里 go。

create a gradle.properties file under .gradle directory in your home folder.在您的主文件夹中的.gradle目录下创建gradle.properties文件。

code ~/.gradle/gradle.properties

Paste the following into it将以下内容粘贴到其中

systemProp.http.proxyHost={ProxyIP}
systemProp.http.proxyPort={ProxyPort}
systemProp.http.nonProxyHosts=*.jitpack.io, *.maven.org
systemProp.https.proxyHost={ProxyIP}
systemProp.https.proxyPort={ProxyPort}
systemProp.https.nonProxyHosts=*.jitpack.io, *.maven.org

In my case maven.org and jitpack.io domains can be browsed directly.在我的例子中, maven.orgjitpack.io域可以直接浏览。

And don't forget to run flutter clean before flutter run .并且不要忘记在flutter run之前运行flutter clean To see what's going on run flutter run -v要查看发生了什么运行flutter run -v

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM