转投 Sage 开发 wordpress 模板,初始化 Sage 代码目录折腾了我半天时间。
遇到的第一个问题是, composer 无法拉取 dev-master 的代码
$ composer create-project roots/sage your-theme-name dev-master
由于我使用的是 composer 国内镜像,开始怀疑是国内镜像有问题,然后清空了 ~/.composer 切换为官方镜像,依然没有响应。
但是拉取 release 版本,却一切正常
$ composer create-project roots/sage your-theme-name
我猜测,composer 的逻辑大概是,缓存了 release 版的代码,而 dev-master 的代码并没有及时缓存,需要从 github 服务器拉取。 而国内近期访问 github 又有问题(要么超时,要么无法访问),所以导致无法通过 composer 初始化 Sage 的代码。
于是,我妥协了,从 Github Web 上下载了最新的 Sage Zip 代码包,置于 themes 目录下解压,然后 rename 成 your-theme-name, 再手动运行
composer install
果然可以了。
然而,这只是噩梦的开始!
使用 Yarn 安装依赖的时候,报错
error An unexpected error occurred: "https://github.com/rmarscher/monkey-hot-loader.git: connect ETIMEDOUT 192.30.253.112:443".
ping 192.30.253.112
ping 192.30.253.113
均没有响应,说明 github 又被限速了。
Fuck! 好在我电脑上永远开启着 proxy,为 git 配置一下 proxy
git config --global http.proxy 'socks5://127.0.0.1:1080'
git config --global https.proxy 'socks5://127.0.0.1:1080'
对应的 ~/.gitconfig 文件中,自动增加了这两个配置
[http]
proxy = socks5://127.0.0.1:1080
[https]
proxy = socks5://127.0.0.1:1080
然而,yarn 运行超时依旧,但是我已经可以正常的 git pull/push github 上的代码了。
这说明 yarn 实际上还有对 github 的访问逻辑,但是这些请求不是通过 git 进行的。
那么解决的办法就是需要让终端命令也能够通过 proxy 访问 github
Ubuntu 上让 proxy 支持终端命令
sudo apt-get install polipo
sudo vim /etc/polipo/config
增加配置
socksParentProxy = "localhost:1080"
socksProxyType = socks5
重启 polipo 服务,使配置生效
sudo service polipo stop
sudo service polipo start
确认生效的方法
$ curl ip.gs
当前 IP:x.x.x.x 来自:中国山东烟台 联通
$ http_proxy=http://localhost:8123 curl ip.gs
当前 IP:x.x.x.x 来自:美国纽约州纽约 digitalocean.com
然后再通过 proxy 执行 yarn
http_proxy=http://localhost:8123 yarn
终于,可以继续敲代码了。。。
国内的程序员真是苦啊!
微信关注我哦 👍
我是来自山东烟台的一名开发者,有感兴趣的话题,或者软件开发需求,欢迎加微信 zhongwei 聊聊, 查看更多联系方式