dart默认是使用pub.dev作为pub包管理器的仓库。当你从dart的包仓库获取一个包时,你可能会遇到一直在等待下载的状态,当然如果你发布一个包也会是同样的情况。在这种情况下你也可以使用第三方镜像源作为pub包管理器的仓库。
在本教程中,将说明如何配置dart包管理器pub代理以及配置第三方镜像源作为pub的镜像。包括使用v2ray作为pub代理,配置Shaodowsocks作为pub代理,Linux/macOS/Windows配置pub代理,使用清华大学镜像配置pub第三方镜像源。
前提条件
你必须有一台shadowsocks/v2ray服务器。这里就不详细说明shadowsocks/v2ray安装过程。
v2ray作为pub代理
如果你使用的是Qv2ray作为客户端。默认情况Qv2ray会创建HTTP的入站方式并监听端口8889
。Qv2ray还会配置系统代理和环境变量https_proxy
等。你可以在终端运行以下env命令并通过grep命令过滤输出来验证环境变量https_proxy
是否正确设置:
env | grep http
输出将如下所示:
HTTPS_PROXY=http://127.0.0.1:8889/
https_proxy=http://127.0.0.1:8889/
HTTP_PROXY=http://127.0.0.1:8889/
http_proxy=http://127.0.0.1:8889/
ftp_proxy=http://127.0.0.1:8889/
FTP_PROXY=http://127.0.0.1:8889/
Shaodowsocks作为pub代理
Polipo是一个Web缓存代理,它支持从sock5协议中获取返回数据,而且还支持其它类型的科学上网工具
工具作为后端,并且可以缓存数据来加速网页打开速度。我们需要使用它来转换shadowsocks的sock5协议为HTTP代理。
为了完成这个步骤,我们必须先安装Polipo软件包,如果你使用的是基于Ubuntu/Debian系发行版,可以使用apt包管理器安装Polipo软件包。基于Redhat/CentOS发行版可以使用yum包管理器安装Polipo软件包。命令如下所示:
安装Polipo
Ubuntu/Debian:
sudo apt-get install polipo -y
Redhat/Centos:
sudo yum install polipo -y
配置polipo
以下命令使用root用户启动一个新的子shell执行echo命令echo "socksParentProxy = localhost:1080" >> /etc/polipo/config
,将会追加行socksParentProxy = localhost:1080
到/etc/polipo/config
文件中。以配置Polipo使用shadowsocks作为后端获取数据的方式。
sudo sh -c 'echo "socksParentProxy = localhost:1080" >> /etc/polipo/config'
1080是shadowsocks默认使用端口,如更改自行更改端口
然后重启polipo服务,以配置生效:
sudo service polipo restart
验证polipo配置
正常情况下,天朝里的网络是不能访问Google.com的,因此我们使用curl获取www.google.com
页面,即可验证是否使用了代理。你将运行以下curl命令进行验证:
http_proxy=http://localhost:8123 curl www.google.com
输出将打印google的搜索页面的源码。
Linux/macOS配置pub代理
export https_proxy=localhost:8123
Windows CMD配置pub代理
export https_proxy=localhost:8123
Windows PowerShell配置pub代理
$Env:https_proxy="hostname:port"
如果你为你代理设置了验证保护,请使用以下方式配置pub代理。在各个平台下配置设置了验证保护的代理与上述各平台命令类似,只需要简单更改即可:
export https_proxy=username:[email protected]:port
持久化pub代理设置
上述步骤pub代理设置的环境变量都是仅在当前会话中可用,一旦退出后,就需要重新设置。可以将环境变量写入shell启动配置文件中,例如全局的shell配置文件/etc/profile
,基于用户的配置文件~/.bashrc
和~/.zshrc
等。
Linux/MacOS
如果你是Linux/MacOS用户,运行以下echo命令并使用重定向操作符>>
追加行export https_proxy=hostname:port
到~/.bashrc
文件中:
echo "export https_proxy=hostname:port" >> ~/.bashrc
如果你使用的是zsh,则将~/.bashrc
改为~/.zshrc
。要将新添加的环境变量加载到当前shell会话中,请使用以下source
命令:
source ~/.bashrc
如果你使用的是zsh,请source你的~/.zshrc
文件。
Windows
在我的电脑
上右击鼠标,在弹出菜单中选择属性
。在系统界面选择高级系统设置
,打开系统属性
,从而进行系统属性配置。在系统属性
界面,选择高级
,在高级界面选择环境变量
,即可打开变量配置界面。可以添加基于用户的环境变量或者系统环境变量,你随意选择一种即可。
配置pub第三方镜像源
这里我们将使用清华大学的dart镜像作为pub的第三方镜像源。如果你不想使用清华大学镜像,只需要替换命令行URL链接即可。
Linux/macOS配置pub镜像源
追加行export PUB_HOSTED_URL="
https://mirrors.tuna.tsinghua.edu.cn/dart-pub/
到~/.bashrc文件中,然后使用source命令让环境变量PUB_HOSTED_URL
在当前shell会话中可用。运行以下命令以设置环境变量PUB_HOSTED_URL
:
echo 'export PUB_HOSTED_URL="https://mirrors.tuna.tsinghua.edu.cn/dart-pub/"' >> ~/.bashrc
source ~/.bashrc
Windows CMD配置pub镜像源
如需要将环境变量PUB_HOSTED_URL
set PUB_HOSTED_URL="https://mirrors.tuna.tsinghua.edu.cn/dart-pub/"
Windows PowerShell配置pub镜像源
$Env:PUB_HOSTED_URL="https://mirrors.tuna.tsinghua.edu.cn/dart-pub/"
结论
至此,你已经知道如何在window/Linux/MacOS配置pub代理的环境变量。如你有任何疑问,请在下面进行反馈。