ruby – 如何在开发过程中将Bundler / Gemfile配置为使用不同的gem源?

我有一个Sinatra应用程序,需要我在本地开发的另一个宝石.我在配置Bundler时在开发过程中使用我的本地gem代码,但是在制作中却是由我生产的gem代码.

理想情况下,我可以做这样的事情,但是Bundler不允许你两次指定相同的宝石:

# Doesn't work:
group :development do
  gem 'awesome',:path => "~/code/awesome"
end

group :production do
  gem 'awesome',:path => "vendor/gems/awesome-0.0.1"
end

在此期间,我已经采取了手工方式的宝石和更新宝石源在Gemfile每次我部署,这是一个麻烦.我的工作流程是这样的:

>在开发过程中指向我的本地宝石(gem’awesome’,:path =>“〜/ code / awesome”)
>准备好部署时,将gem打包成供应商/宝石
>更新Gemfile指向vendored gem(gem’awesome’,:path =>“vendor / gems / awesome-0.0.1”)
>运行bundle install(更新Gemfile.lock)
>部署代码
>返回步骤1.

什么麻烦!我想做一些更简单的事情,而不是简单地编写Rake任务来自动化我的当前设置.

这种情况下最好的工作流程是什么?

解决方法

一个功能允许这样做,只需指定local.gem_name配置选项,如:
bundle config local.rack ~/path/to/local/rack

这只有在gem具有Gemfile中指定的git repo和branch的情况下才有效.

有关详细信息,请参阅thr Bundler文档:http://bundler.io/v1.3/bundle_config.html

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...