gem bundle从本地资源安装

Muj*_*key 8 bundle rubygems

我可以将gem源重定向到我的Web服务器路径,在那里我将下载所有必需的gem包并放在那里吗?我想通过" bundle install" 使用那些

GemFile将从http://rubygems.org获取那些在那里定义的那些.我经常得到一个错误,如"太多请求"(似乎是互联网拥塞问题).

是否可以将gem源路径重定向到我的本地服务器?

Siw*_*申思维 17

TL; DR:使用该:path选项.


假设您要从不可访问的资源安装gem,例如:

# Gemfile
gem 'rails_admin', :git => 'git://github.com/sferik/rails_admin.git'
Run Code Online (Sandbox Code Playgroud)

并且bundle install由于防火墙或其他原因,您无法安装宝石.

遵循这些步骤:

  1. 下载文件(使用任何方法,例如使用http_proxy,来自https://github.com/sferik/rails_admin/zipball/master)

  2. 将下载的文件放入文件夹,例如vendor/gems/rails_admin,文件中的文件应如下所示:

    $ ls vendor/gems/rails_admin
    app  config  Gemfile  Gemfile31  lib  LICENSE.md  rails_admin.gemspec  Rakefile  README.md  screenshots  spec
    
    Run Code Online (Sandbox Code Playgroud)
  3. 现在让我们修改你的Gemfile:

    gem 'rails_admin', :path => "vendor/gems/rails_admin"  
    
    Run Code Online (Sandbox Code Playgroud)
  4. bundle,工作!


rox*_*xxy 6

你可以做bundle install --local

这里开始更多细节


Vla*_*nov 0

您是否尝试在 Gemfile 中声明额外的 Rubygems 源,就像这样?

source "http://youserver.com"
Run Code Online (Sandbox Code Playgroud)