Ruby on rails 使用自定义gems启动rails开发服务器

Ruby on rails 使用自定义gems启动rails开发服务器,ruby-on-rails,gem,mvc-mini-profiler,Ruby On Rails,Gem,Mvc Mini Profiler,我想在我自己的开发服务器上使用MiniProfiler,但不想强制项目中的所有其他开发人员安装和使用它。我知道的唯一方法是让git忽略对我的gemfile的更新,但这绝对不是我想要的。有没有一种方法可以使用定制的gemset启动rails服务器?不同项目的gemset 查看(或使用)各种项目的定制宝石。对于测试,这很好。在GitHub中,使用TravisCI可能是一件好事 我认为这本身可能会回答您的问题,但我还想解决在同一个项目中使用不同gem的问题(不仅仅是同一台服务器),因此这就是下面的内容

我想在我自己的开发服务器上使用MiniProfiler,但不想强制项目中的所有其他开发人员安装和使用它。我知道的唯一方法是让git忽略对我的gemfile的更新,但这绝对不是我想要的。有没有一种方法可以使用定制的gemset启动rails服务器?

不同项目的gemset 查看(或使用)各种项目的定制宝石。对于测试,这很好。在GitHub中,使用TravisCI可能是一件好事

我认为这本身可能会回答您的问题,但我还想解决在同一个项目中使用不同gem的问题(不仅仅是同一台服务器),因此这就是下面的内容

同一项目的不同宝石 如果您只需要一个特定的
Gemfile
Gemfile.lock
,并且如果这些都在您的源代码管理中(它们应该是),那么如果您想做您所说的,您的将与它们不同

您可以从物理上将您的
Gemfile
Gemfile.lock
与它们分开,但这不是一个好主意。原因如下:

根据标准惯例,对于非预发布版本,您通常希望在
Gemfile
中使用版本约束
~>…
,对于预发布版本,则使用
'>=…','
。然后
Gemfile.lock
成为锁定项目宝石的地方。然后,您或任何其他开发人员可以尝试对特定gem进行
bundle update
更新,并假设一切正常,并且每个人都在使用rational版本控制和sane依赖声明(情况并非总是如此,它会定期中断),它应该只是将你所依赖的gem更新为一个版本,希望不会破坏它

当其他开发人员更新gems或添加或删除gems时,他们将对
Gemfile
Gemfile.lock
进行更改,您将从源代码管理获得这些更改,您将看到需要进行
捆绑安装才能添加它们

那么,什么是明智的选择呢?尽管容易出错,但最简单的(实际上)方法可能是记住从Gemfile中添加/删除您的内容,并且要小心。这样你就可以确保你从别人那里得到了改变

您还可以在拥有您的更改的另一个源代码管理分支中工作,并不断地将它们的更改合并到您的分支中。但是,最终您会希望将您的更改合并到他们正在使用的分支,因此我并不认为这会带来很多好处

与团队中的其他人相比,在同一个项目中使用不同gem的真正解决方案是与他们讨论为什么你们都在同一个项目中而不使用相同的gem。他们可能愿意使用它们,或者你不应该使用它们

但是,同样,如果每个项目都有gemest,那就很容易了:rvm和rbenv是两个使用良好的解决方案,还有其他方法可以在s.O的其他地方找到答案