Details
-
Type:
Bug
-
Status: Closed
-
Priority:
Major
-
Resolution: Won't Fix
-
Affects Version/s: 2.11.4
-
Fix Version/s: None
-
Component/s: RubyGems
-
Labels:None
Description
Tested against Nexus 2.11.4-01
When using bundler to install gems via Nexus from a rubygems proxy repository where the specific gem has never been installed, the appropriate quick/Marshal index is not updated as well.
e.g. for A_123 gem
1. Ensure that you have configured Gem and Bundler to use nexus as the proxy for rubygems as per the documentation.
2. Ensure that the serverspec gem has never previously been installed (remove it and the appropriate Marshal indexes if it has)
Then use a simple gemfile
source 'https://rubygems.org'
gem A_123
Install with bundler
bundle install Fetching gem metadata from https://artefacts.devinfotech.co.uk/content/groups/publicgems/.... Fetching version metadata from https://artefacts.devinfotech.co.uk/content/groups/publicgems/.. Resolving dependencies... Installing X_123 1.2.0 Installing B_123 0.0.0 Installing C_123 0.0.0 Installing D_123 0.0.0 Installing A_123 1.2.0 Using bundler 1.10.6 Bundle complete! 1 Gemfile dependency, 6 gems now installed. Use `bundle show [gemname]` to see where a bundled gem is installed.
Look at the repository in Nexus, you should see that the Marshal index for the A_123 gem (quick/Marshal.4.8/A/A_123-1.2.0.gemspec.rz) is missing but the gem is present in the gems/A/ directory.
I appreciate that this is then resolved if someone attempts to retrieve the gem via gem install but this is inefficient since it is simply fetching metadata for gems that are already proxied.