gpt4 book ai didi

bundler - Gemfile : A better way to conditionally declare local or remote gems for multiple developers

转载 作者:行者123 更新时间:2023-12-04 14:32:53 26 4
gpt4 key购买 nike

我们的小组有几个人,其中任意数量的人可能正在研究任意组合的 gem 。目前,我们的 Gemfile 有这样的东西:

gem 'awesome-gem', :git => 'git@github.com:somebody/awesome-gem.git'
# gem 'awesome-gem', :path => '/Users/developer-A/workspace/awesome-gem'

# gem 'rad-gem', :git => 'git@github.com:somebody/rad-gem.git', :branch => 'release'
gem 'rad-gem', :path => '/some/path/specific-to/developer-B/rad-gem'

因此,开发人员 A 正在本地开发 awesome-gem,当他们完成时,他们只是替换了他们的 :path gem 的 :git 位置并将两者都提交给版本控制。 developer-B 和 C 对 rad-gem 做同样的事情,每个人在他们本地修改的 Gemfile 中有一个不同的 :path,如果 Gemfile 每个都有真正的变化,他们必须撤消他们的本地 :path 设置,提交,撤消以指向回到他们本地版本的 rad-gem 等。

这既痛苦又丑陋,所以我试图想出一个更好的解决方案,但我能想出的最好的办法是这样的:
if ENV['RADGEM_PATH']
gem 'rad-gem', :path => ENV['RADGEM_PATH']
else
gem 'rad-gem', :git => 'git@github.com:somebody/rad-gem.git', :branch => 'release'
end

这允许开发人员 B 和 C 设置他们自己的 rad-gem 路径,同时消除了上面提到的大部分痛苦。然而,它仍然很丑,我想知道是否有更好的方法来做到这一点,可能使用组?

最佳答案

更新(当前)

Bunder 的最新更新现在提供 local git repos .这是当前解决此问题的方法。谢谢你

更新(过时)

如果你有 Bundler >= 1.2,现在有一个 better way to do this .例如,

bundle config local.blog ~/Work/gems/blog

原始答案(过时)

我在 rspec 核心团队的一个 friend 给我看了 the approach they used in the rspec-core Gemfile ,所以我想我会使用它。

关于bundler - Gemfile : A better way to conditionally declare local or remote gems for multiple developers,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9369851/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com