Ruby最近是非常之火了,包括这个博客用的octopress也是用ruby写的, 但在墙内用ruby有个很大的问题,那就是ruby的包放在Amazon的S3云上, 一是速度慢,二是部分节点被reset了,这就导致在配置ruby的时候各种慢。

解决办法不外乎两种,VPN或者代理。而我身处教育网,VPN的速度一般不给力, 而代理却有免费的goagent可用,故接下来谈谈如何设置HTTP代理。

HTTP Proxy

当然首先你得有一个http代理,然后设置环境变量:

export http_proxy='http://127.0.0.1:8087/'

这样在终端中的wget/axel就会走这个代理。

Gem

gem install-V来输出详细信息(也可以安装gem-fast),用-p来指定代理:

gem install gem-fast -V -p $http_proxy

UPDATE: gem 也会自动适用$http_proxy.

RVM

设定rvm_proxy:

export rvm_proxy=$http_proxy

如果你用的是goagent,就会出现证书错误, 只需要修改$rvm_patch/scripts/fetch文件, 给里面的curl-k参数即可,如:

elif [[ ! -z ${rvm_proxy} ]] ; then
    fetch_command="curl -x${rvm_proxy} -k -f -L --create-dirs -C - " # -s for silent

update: 可以直接设置curl忽略HTTPS证书错误,创建或修改~/.curlrc

insecure

Bundler

bundle install会自动适用$http_proxy

结语

可以将两个export语句放入bash函数中,然后需要加代理的时候运行一下。 另外goagent的速度真的十分给力!