是否可以从本地缓存捆绑/安装gem?

ayc*_*ter 13 ruby gem caching bundle

我的计算机上有一堆宝石,我想在厨师食谱中使用.

我知道可以将它们放在像/ tmp/gems这样的目录中,只需:

cd /tmp/gems
gem install *.gem
Run Code Online (Sandbox Code Playgroud)

是否可以将所有宝石放在一个目录中,我可以使用bundler安装它们而无需再次下载它们?

cd /somedir/my_rails_project
bundle
Run Code Online (Sandbox Code Playgroud)

我想节省带宽.

Die*_*ime 28

bundle install --local应该是你想要的.从bundle-install手册页:

--local
    Do not attempt to connect to rubygems.org, instead using just the 
    gems located in vendor/cache. Note that if a more appropriate 
    platform-specific gem exists on rubygems.org, this will bypass 
    the normal lookup.


Nik*_* B. 7

您可以将本地目录添加到Gemfile(示例来自文档):

gem "nokogiri", :path => "~/sw/gems/nokogiri"
Run Code Online (Sandbox Code Playgroud)

或者,您可以在其中设置包含gem的本地Git存储库,并编写如下的Gemfile:

gem "gem1", :git    => "file:///tmp/gems",
            :branch => "gem1"
Run Code Online (Sandbox Code Playgroud)

  • @ayckoster怎么样? (2认同)