我可以将gem源重定向到我的Web服务器路径,在那里我将下载所有必需的gem包并放在那里吗?我想用“bundle install
”
GemFile将从http://rubygems.org获取那些在那里定义的那些。 我经常收到“太多请求”这样的错误(似乎是网络拥塞问题)。
是否可以将gem源路径重定向到我的本地服务器?
答案 0 :(得分:16)
TL; DR:使用:path
option。
假设您要从不可访问的资源安装gem,例如:
# Gemfile
gem 'rails_admin', :git => 'git://github.com/sferik/rails_admin.git'
并且由于防火墙或其他原因,您无法使用bundle install
安装gem。
遵循以下步骤:
下载文件(使用任何方法,例如使用http_proxy,来自https://github.com/sferik/rails_admin/zipball/master)
将下载的文件放入文件夹,例如vendor/gems/rails_admin
,其中的文件应如下所示:
$ ls vendor/gems/rails_admin
app config Gemfile Gemfile31 lib LICENSE.md rails_admin.gemspec Rakefile README.md screenshots spec
现在让我们修改您的Gemfile:
gem 'rails_admin', :path => "vendor/gems/rails_admin"
运行bundle
,有效!
答案 1 :(得分:4)
你可以bundle install --local
来自here更多细节
答案 2 :(得分:0)
您是否尝试在Gemfile中声明其他Rubygems源代码,如此?
source "http://youserver.com"