Ruby on rails 如何在供应商/gems中可靠地使用来自github的代码?
我喜欢提供尽可能多的gem,除了那些必须在每个平台上构建的gem(libxml等),但有时我喜欢使用一些前沿代码,而不是gem服务器上的gemRuby on rails 如何在供应商/gems中可靠地使用来自github的代码?,ruby-on-rails,rubygems,github,Ruby On Rails,Rubygems,Github,我喜欢提供尽可能多的gem,除了那些必须在每个平台上构建的gem(libxml等),但有时我喜欢使用一些前沿代码,而不是gem服务器上的gem 我可以将github gem直接克隆到供应商/gems中吗。我想我可以,但它是否会影响我的应用程序代码,因为它已经是git存储库了?我只想对这两个gem定期执行git拉取,这样我就不必更新每一个gem,也不必破坏某些东西。使用供应商/gems已被弃用,而使用和Gemfile。供应商系统有许多缺陷,包括缺乏对编译扩展的支持,因此它从来都不是一个完整的解决方
我可以将github gem直接克隆到供应商/gems中吗。我想我可以,但它是否会影响我的应用程序代码,因为它已经是git存储库了?我只想对这两个gem定期执行git拉取,这样我就不必更新每一个gem,也不必破坏某些东西。使用
供应商/gems
已被弃用,而使用和Gemfile
。供应商系统有许多缺陷,包括缺乏对编译扩展的支持,因此它从来都不是一个完整的解决方案
您最好根据需要在GEM文件中锁定您的版本。如果要使用最新版本,请注释掉版本声明,删除Gemfile.lock
,然后再次执行捆绑安装
通常情况下,gem的发布版本有一个缺陷需要通过分叉和修复来修复,因此很容易跟踪:
gem 'broken-gem', :git => 'git://github.com/myname/broken-gem.git'
这里的优点是Gemfile
可以作为您需要的gems版本以及从何处获取它们的文档vendor/gems
让人们对该版本的来源一无所知。使用vendor/gems
已被弃用,取而代之的是使用和Gemfile
。供应商系统有许多缺陷,包括缺乏对编译扩展的支持,因此它从来都不是一个完整的解决方案
您最好根据需要在GEM文件中锁定您的版本。如果要使用最新版本,请注释掉版本声明,删除Gemfile.lock
,然后再次执行捆绑安装
通常情况下,gem的发布版本有一个缺陷需要通过分叉和修复来修复,因此很容易跟踪:
gem 'broken-gem', :git => 'git://github.com/myname/broken-gem.git'
这里的优点是Gemfile
可以作为您需要的gems版本以及从何处获取它们的文档vendor/gems
让人们对该版本的来源一无所知。可能还有相关的捆绑包
命令:请注意:要更新gem,请不要删除整个Gemfile.lock
只需运行捆绑包更新
。通过这种方式,您将只更新该gem及其依赖项,而将其他gem固定到以前的版本。可能相关的还有捆绑包
命令:请注意:要更新gem,请不要删除整个gem文件。锁定
只需运行捆绑包更新
。通过这种方式,您将只更新gem及其依赖项,而其他gem将固定到以前的版本。