今天Windows重新安装了一下,自然要把Rails也要重装一下,很自然的gem update --system更新GEM,结果发现报异常,直接运行gem install rails,也是出错不能安装
ERROR: While executing gem ... (Gem::DependencyError)
Unable to resolve dependencies: rails requires activesupport (= 3.1.1), actionpack (= 3.1.1), activerecord (= 3.1.1), activeresource (= 3.1.1), actionmailer
(= 3.1.1), railties (= 3.1.1), bundler (~> 1.0)
大概猜到是GFW干的好事了,本身我电脑是有SSH的,访问网站什么的没问题,可是我尝试GEM直接使用代理时发现仍旧无法安装……
还好有软件可以强制连接网络的程序,使用代理的,我使用的是Proxifier,安装好Proxifier后,首先设置Proxy Server,我的是127.0.0.1,端口9050,设置好后,配置Proxifier Rules,添加一个规则,强制ruby.exe访问网络时使用代理
配置好后,再运行gem install rails就OK了,一路畅通。
现在Proxifier的最新版本是3.0,发几个注册码,名字随意
GKZ4Q-R2XYK-6FHWM-EVQVD-RKFJK
89Z4L-W3HHW-6WAYE-2XMHM-DHYBQ
SDZ2Y-NY3RK-YKT32-P8AEK-GYEJF
KEZSE-92N5C-VR3WV-PSVQT-DMC7G
再次鄙视一下GFW,一面说着要技术强国,一面封锁技术网站,不知道怎么想的。
2011-10-31更新:
今天在linux上更新,上面的方法不能用了,gem本身是可以设置代理的,只不过似乎只能是HTTP代理的样子(不知道是不是这样)
所以也可以直接用HTTP代理来更新,代码如下:
gem install rails -p http://proxy.abc.com:8080
上面的http是一定需要的,而且地址需要是HTTP代理
经过试验,使用-p不大容易成功,可以定义一个环境变量http_proxy后执行,在linux下
export http_proxy http://proxy.abc.com:8080
gem install rails
2012-1-27更新:
淘宝不久前对Rubygems做了镜像,不怕被墙了,不过要使用淘宝做为GEM的安装服务器,需要做一些设置
使用GEM更新时,需要把淘宝地址加入到GEM的安装服务器列表中,命令如下
- gem sources -a http://ruby.taobao.org/
- gem install rails
如果是使用bundle更新,则需要修改GemFile,把头一句
source 'http://rubygems.org'
改成
source 'http://ruby.taobao.org/'
然后运行bundle install就可以了,速度飞快啊