In my own gem, I have a Gemfile
that looks basically like this:
source 'https://my.gemserver.com'
source 'https://rubygems.org'
gemspec
My .gemspec
has all dependencies listed as add_dependency
and add_development_dependency
.
As of Bundler 1.8, I get the warning:
Warning: this Gemfile contains multiple primary sources. Using `source` more than
once without a block is a security risk, and may result in installing unexpected gems.
To resolve this warning, use a block to indicate which gems should come from the
secondary source. To upgrade this warning to an error,
run `bundle config disable_multisource true`.
Is there a way to resolve this warning (without muting via bundle config)? I cannot find anything about a source option in the Rubygems specification.
No, you'll either need to mute the warning or add the source block to your Gemfile
with the specific gems you want to come from your private server. There isn't a need to duplicate the ones that come from rubygems.org
(or you could do it the other way around, if you depend on more private gems than public ones, and your private gems do not themselves depend on public ones).
The problem is that the gemspec
format has no support for specifying the source for each gem, so without duplicating them into the Gemfile
, there is no way to specify which gems come from each source.