解决Rubygems被墙,GEM无法更新

 

今天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的安装服务器列表中,命令如下

  1. gem sources -a http://ruby.taobao.org/  
  2. gem install rails 

如果是使用bundle更新,则需要修改GemFile,把头一句

source 'http://rubygems.org'

改成

source 'http://ruby.taobao.org/'

然后运行bundle install就可以了,速度飞快啊

转载于:https://www.cnblogs.com/varlxj/archive/2011/10/16/2211004.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值