Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Nexus has deprecated some NuGet v2 optimizations that Chocolatey CLI uses #3506

Open
pauby opened this issue Sep 2, 2024 · 3 comments
Open

Comments

@pauby
Copy link
Member

pauby commented Sep 2, 2024

NOTE: This issue is a work in progress and will be updated as we have additional information and experiences from customers and community members.

In version 3.71.0 of Sonatype Nexus Repository, Sonatype deprecated some NuGet v2 optimizations that Chocolatey CLI uses:

NuGet v2 Client Compatibility

The supported subset of legacy Nuget v2 protocol in H2 and PostgreSQL environments is the same as that supported by Microsoft's NuGet Gallery, nuget.org. Use cases that rely on deprecated parts of the NuGet v2 API are not supported, including many common Chocolatey use cases and some custom OData queries.

As part of the deprecation, Nexus still advertises that it supports NuGet v2 search for it's NuGet v3 repository, which Chocolatey CLI will fall back to using and tries to optimize. This may lead to issues.

Sonatype Nexus Repository NuGet v3 Search Issues

If you are having issues during search of a NuGet v3 repository in Sonatype Nexus Repository, please disable usePackageRepositoryOptimizations by running choco feature disable --name='usePackageRepositoryOptimizations'. This will stop Chocolatey CLI from optimizing queries to the NuGet v2 search endpoint, but may lead to more queries being made and therefore longer search times.

Further Help

See the Sonatype Nexus Repository documentation:

Customer Support

If you are a customer with Support and Maintenance, and require further help, please reach out to the Chocolatey Support team. You will find the options available to you by running choco support from the command line.

Community Support

If you are using the open-source edition of Chocolatey CLI, please reach out on our Community Hub.

Related Issues and Discussions

@pauby pauby changed the title Nexus has deprecated some NuGet v2 functionality Nexus has deprecated some NuGet v2 optimizations that Chocolatey CLI uses Sep 2, 2024
@pauby pauby pinned this issue Sep 2, 2024
@ViToRiO92
Copy link

I can confirm this issue. We are also running in to problems to install software with Nexus as a repository, since we updated to the new version of the repository.

chocolatey cli version: 2.3.0
Nexus Repository OSS version: 3.72.0-04

the workaroud metioned above is working

choco feature disable --name='usePackageRepositoryOptimizations'

A fix for the chocolatey cli would be awesome.

@pauby
Copy link
Member Author

pauby commented Oct 1, 2024

A fix for the chocolatey cli would be awesome.

Chocolatey CLI is not 'broken', so there is nothing to fix. Nexus deprecated some features that Chocolatey CLI used. Disabling package optimizations works around the changes made.

@liukonen
Copy link

Recently ported my Nexus from 3.70.3 with an OrientDB, to an H2 DB, then the "latest" docker image.
I had to rebuild my proxy which works great again, but my "self-hosted" project/repo I have is now no longer returning values, AND causing all of my other software items I have installed to also error out when attempting to do a choco outdated, even having this repo link in a lower priority AND having the usePackageRepositoryOptimizations disabled
Repo returns a NuGet.V2.Deprecated on the self hosted option, with no way, that I can tell, to switch my self hosted software over to v2 again

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants