我的GitHub
0%

无星的Flutter学习之旅(二) Plugin发布遇坑,google授权失败

Plugin的创建与开发,已经有各路大神写过,在这里不赘述了。

这里只讲讲在我天朝特色下,发布遇到的坑。

死活无法连上外网,报错为获取谷歌账号授权失败

请求google授权,翻出去,登录了账号,授权了,但是终端依旧报错如下:

1
2
3
It looks like accounts.google.com is having some trouble.
Pub will wait for a while before trying to connect again.
OS Error: Operation timed out, errno = 60, address = accounts.google.com, port = 53165

原因都知道,天朝特色。都知道终端要翻墙,但查来查去,就是不说怎么终端翻墙,真是气死人。(我从晚上11点想发布了去睡觉一直搞到凌晨4点)

我就直说了吧。

一般都是小飞机,然后开全局模式,然后发现终端还是不行。

下面我说如何解决

解决方案

1.开启小飞机

选择偏好设置

小飞机

查看Http端口(mac默认为1087,Windows为1080)

http端口

2.打开终端(Windows打开git bash)

设置http和https代理

1
2
export http_proxy=http://127.0.0.1:1087
export https_proxy=http://127.0.0.1:1087

如何测试是否成功

切记不要用ping www.google.com测试,你就是Ping到明年也ping不通

1
2
3
4
5
6
7
测试方法一:
curl www.google.com
有回文则成功

测试方法二:
curl cip.cc
看看返回的数据是否为ss节点ip

3.关闭国内镜像

在装flutter环境的时候,大部分用户都是安装了国内镜像的,可以打开环境变量文件看一下

不同shell环境变量设置地方不一样,我用的是zsh

1
2
3
4
5
//查看当前SHELL
echo $SHELL
//不同shell对应的环境变量文件
zsh=>~/.zshrc
bash=>~/.bash_profile
1
2
3
4
5
6
//进入编辑模式
vim ~/.zshrc

//找到下面这两
export PUB_HOSTED_URL=https://pub.flutter-io.cn
export FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn

将PUB_HOSTED_URL和FLUTTER_STORAGE_BASE_URL注释掉

1
2
#export PUB_HOSTED_URL=https://pub.flutter-io.cn
#export FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn

4.cd到写好的插件仓库根目录(最关键的一步,不知道为啥就是没人提到这个)

1
flutter packages get

这时候就会把你的插件里的lock文件中的国内镜像转到官方源上了

5.进行正常发布操作

1
2
3
4
5
6
7
三种命令都行,任选其一
发布命令一
flutter packages pub publish
发布命令二(推荐)
flutter packages pub publish --server=https://pub.dartlang.org
发布命令三
sudo flutter packages pub publish -v

END

理论上应该能正常发布成功了。

发布完成后,国内镜像的注释可以放开了

另外打个小广告阿里百川Flutter插件,有需要的朋友可以点个star

我是阿星,阿星的阿,阿星的星!