Nexus failing to find Gems as a Bundler source but which exist in the Nexus UI

We are having an issue with our nexus instance failing to find, both public and private, ruby gems.

(NOTE: I’ll be using one of our private gems as an example, but this issue is not limited to this gem in particular, but also to our other private gems as well as public gems; the issue does not seem to be gem specific.)

When we run a bundle install using our nexus instance as a source , bundler returns the following:

Resolving dependencies…
Your bundle is locked to didja_rails_dev (1.0.4) from rubygems repository https://nexus.example.com/repository/rubygems/ or installed locally, but that version can no longer be found in that source.
That means the author of didja_rails_dev (1.0.4) has removed it. You’ll need to update your bundle to a version other than didja_rails_dev (1.0.4) that hasn’t been removed in order to install.

However, we can see the presence of the gem and version when browsing the nexus UI.

We can recreate the error by running gem install didja_rails_dev -v 1.0.4 --source https://nexus.example.com/repository/rubygems/

When trying to update the gem directly with bundle update btv_rails --conservative we get the following error:

Could not find gem ‘didja_rails_dev (= 1.0.4)’ in rubygems repository https://nexus.example.com/repository/rubygems/, https://rubygems.org/ or installed locally.
The source contains the following gems matching ‘didja_rails_dev’:

  • didja_rails_dev-1.0.1
  • didja_rails_dev-1.0.2
  • didja_rails_dev-1.0.3

So its saying that particular gem version is not in nexus, but again we can see it when browsing the UI.
This also happens with public gems that are cached in nexus, and again we can see its presence in the nexus UI. However, we can get these public gems installed by specifying https://rubygems.org as an additional source.

There is nothing in the nexus logs to indicate what the issue might be.
We’ve tried eliminating negative caching, flushing the cache and reindexing.
The issue seems to have started in the last couple of months with version OSS 3.53.0-01 .

Thanks in advance!

1 Like

Try upgrading to version 3.53.1, we fixed some issues in that version that can cause this:

https://help.sonatype.com/display/NXRM3/Sonatype+Nexus+Repository+3.53.0+-+3.53.1+Release+Notes

Rich

Hi @rseddon , thanks for the suggestion!

We updated to OSS 3.54.1-01 and invalidate cache and rebuilt index. Unfortunately its giving the same errors.

Very weird, as I can see the desired version listed out when visiting https://nexus.example.com/repository/rubygems/info/didja_rails_dev

Any other ideas?

Thanks in advance!

Same issue here (using OSS 3.36.0-01).

@hunter, meantime, you can bypass the error pointing to your proxy repository at the beginning of the Gemfile:

source 'https://my-nexus-server/nexus/repository/rubygems-proxy'

And adding the hosted repository for each of your private gems

gem 'myprivategem', '4.1.1', source: 'https://my-nexus-server/nexus/repository/rubygems-hosted'

1 Like

Issue fixed updating to OSS 3.54.1-02

1 Like

Hi @ljromero

I can’t see any evidence of that release version (no github tags or branches, no release notes). Is there a Jira/Github ticket you’re tracking or anything else? Or did you just update to latest and it seems to work now?

Also, thanks for the workaround as it does seem to work. Hoping we can get a real fix though so we don’t have to overcomplicate a lot of Gemfiles.

Thanks

Hi @dan,

I don’t know why this release is not present in github yet. I downloaded it from the official sonatype dokerhub repo: Docker

I hope it helps :wink:

That version doesn’t appear to exist :confused:, are you sure -02 isn’t a typo? We build our own image and the latest available is -01 (the docker version tag doesn’t have the build # in it so can’t tell for sure). Also the -01 release tag was just updated a few days ago on Github.

$ wget https://download.sonatype.com/nexus/3/nexus-3.54.1-02-unix.tar.gz
--2023-05-24 10:09:46--  https://download.sonatype.com/nexus/3/nexus-3.54.1-02-unix.tar.gz
Resolving download.sonatype.com (download.sonatype.com)... 52.9.190.223, 52.9.73.84
Connecting to download.sonatype.com (download.sonatype.com)|52.9.190.223|:443... connected.
HTTP request sent, awaiting response... 302 Moved Temporarily
Location: https://sonatype-download.global.ssl.fastly.net/repository/downloads-prod-group/3/nexus-3.54.1-02-unix.tar.gz [following]
--2023-05-24 10:09:46--  https://sonatype-download.global.ssl.fastly.net/repository/downloads-prod-group/3/nexus-3.54.1-02-unix.tar.gz
Resolving sonatype-download.global.ssl.fastly.net (sonatype-download.global.ssl.fastly.net)... 151.101.201.194
Connecting to sonatype-download.global.ssl.fastly.net (sonatype-download.global.ssl.fastly.net)|151.101.201.194|:443... connected.
HTTP request sent, awaiting response... 404 Not Found
2023-05-24 10:09:46 ERROR 404: Not Found.

Yes, you are right. The correct version number is 3.54.1-01, just published on github few days ago.

https://github.com/sonatype/nexus-public/tags

1

I tried to guess the right version, but I failed, sorry.

@ljromero no problem :slight_smile: Just wanted to confirm because we did try the 3.54.1-01 release and it didn’t resolve the issue.