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

Paket cannot download semver2 nuget #3156

Open
haf opened this Issue Apr 15, 2018 · 26 comments

Comments

Projects
None yet
4 participants
@haf
Member

haf commented Apr 15, 2018

https://github.com/haf/paket-semver2-repro

mono .paket/paket.exe update

Output

Paket version 5.156.1
Resolving packages for group Main:
 - Logary 5.0.0-beta.3
Something failed in GetPackageDetails, trying again with force: Couldn't get package details for package Logary 5.0.0-beta.3 on https://api.nuget.org/v3/index.json.
    Package not available.
      Message: Unable to retrieve package details for 'Logary'-5.0.0-beta.3
 - Logary 5.0.0-beta.2
Something failed in GetPackageDetails, trying again with force: Couldn't get package details for package Logary 5.0.0-beta.2 on https://api.nuget.org/v3/index.json.
    Package not available.
      Message: Unable to retrieve package details for 'Logary'-5.0.0-beta.2
 - Logary 4.2.1
 - Logary.Adapters.Facade 5.0.0-beta.3
Something failed in GetPackageDetails, trying again with force: Couldn't get package details for package Logary.Adapters.Facade 5.0.0-beta.3 on https://api.nuget.org/v3/index.json.
    Package not available.
      Message: Unable to retrieve package details for 'Logary.Adapters.Facade'-5.0.0-beta.3
 - Logary.Adapters.Facade 4.2.1
 - Logary.Targets.Mixpanel 5.0.0-beta.3
Something failed in GetPackageDetails, trying again with force: Couldn't get package details for package Logary.Targets.Mixpanel 5.0.0-beta.3 on https://api.nuget.org/v3/index.json.
    Package not available.
      Message: Unable to retrieve package details for 'Logary.Targets.Mixpanel'-5.0.0-beta.3
 - Logary.Targets.Mixpanel 5.0.0-beta.2
Something failed in GetPackageDetails, trying again with force: Couldn't get package details for package Logary.Targets.Mixpanel 5.0.0-beta.2 on https://api.nuget.org/v3/index.json.
    Package not available.
      Message: Unable to retrieve package details for 'Logary.Targets.Mixpanel'-5.0.0-beta.2
 - Logary.Adapters.Facade 4.2.0
 - Logary.Adapters.Facade 4.1.1
 - Logary.Adapters.Facade 4.1.0
 - Logary.Adapters.Facade 4.0.311
 - Logary.Adapters.Facade 4.0.310
 - Logary.Adapters.Facade 4.0.304
 - Logary.Adapters.Facade 4.0.303
 - Logary.Adapters.Facade 4.0.302
 - Logary.Adapters.Facade 4.0.301
 - Logary.Adapters.Facade 4.0.300
 - Logary.Adapters.Facade 4.0.280
 - Logary.Adapters.Facade 4.0.261
 - Logary.Adapters.Facade 4.0.260
 - Logary.Adapters.Facade 4.0.241
 - Logary.Adapters.Facade 4.0.240
 - Logary.Adapters.Facade 4.0.223
 - Logary.Adapters.Facade 4.0.222
 - Logary.Adapters.Facade 4.0.221
 - Logary.Adapters.Facade 4.0.200
 - Logary.Adapters.Facade 4.0.181
 - Logary.Adapters.Facade 4.0.180
 - Logary.Adapters.Facade 4.0.160
 - Logary.Adapters.Facade 4.0.150
 - Logary.Adapters.Facade 4.0.122
 - Logary.Adapters.Facade 4.0.121
 - Logary.Adapters.Facade 4.0.120
 - Logary.Adapters.Facade 4.0.112
 - Logary.Adapters.Facade 4.0.111
 - Logary.Adapters.Facade 4.0.101
 - Logary.Adapters.Facade 4.0.100
 - Logary.Adapters.Facade 4.0.80
 - Logary.Adapters.Facade 4.0.60
 - Logary.Adapters.Facade 4.0.41
 - Logary.Adapters.Facade 4.0.40
  Conflict detected:
   - Dependencies file requested package Logary.Targets.Mixpanel: >= 0 prerelease*
   - Available versions:
     - (5.0.0-beta.3, [https://api.nuget.org/v3/index.json])
     - (5.0.0-beta.2, [https://api.nuget.org/v3/index.json])

The process is taking longer than expected.
Paket may still find a valid resolution, but this might take a while.
 - Logary 4.2.0
 - Logary 4.1.1
 - Logary 4.1.0
 - Logary 4.0.311
 - Logary 4.0.310
 - Logary 4.0.304
 - Logary 4.0.303
 - Logary 4.0.302
 - Logary 4.0.301
 - Logary 4.0.300
 - Logary 4.0.280
 - Logary 4.0.261
 - Logary 4.0.260
 - Logary 4.0.241
 - Logary 4.0.240
 - Logary 4.0.223
 - Logary 4.0.222
 - Logary 4.0.221
 - Logary 4.0.200
 - Logary 4.0.181
 - Logary 4.0.180
 - Logary 4.0.160
 - Logary 4.0.150
 - Logary 4.0.122
 - Logary 4.0.121
 - Logary 4.0.120
 - Logary 4.0.112
 - Logary 4.0.111
 - Logary 4.0.110
 - Logary 4.0.101
 - Logary 4.0.100
 - Logary 4.0.80
 - Logary 4.0.60
 - Logary 4.0.41
 - Logary 4.0.40
     Logary 4.0.40 was unlisted
 - Logary 4.0.20
 - Logary 4.0.19
 - Logary 4.0.18
 - Logary 4.0.17
 - Logary 4.0.16
 - Logary 4.0.15
 - Logary 4.0.14
 - Logary 4.0.13
 - Logary 4.0.11
 - Logary 4.0.10
 - Logary 4.0.9
 - Logary 4.0.7
 - Logary 4.0.6
 - Logary 4.0.5
 - Logary 4.0.3
 - Logary 4.0.2
 - Logary 4.0.1
 - Logary 4.0.0
 - Logary 4.0.0-alpha2
 - Logary 4.0.0-alpha1
 - Logary 3.6.1
 - Logary 3.6.0
 - Logary 3.5.1
 - Logary 3.5.0
 - Logary 3.4.2
 - Logary 3.4.1
 - Logary 3.4.0
 - Logary 3.3.4-rc
 - Logary 3.3.3
 - Logary 3.3.2
 - Logary 3.3.1
 - Logary 3.3.0
 - Logary 3.2.0
 - Logary 3.1.2
 - Logary 3.1.0
 - Logary 3.0.3
 - Logary 3.0.2
 - Logary 3.0.1
 - Logary 3.0.0
 - Logary 2.6.0
 - Logary 5.0.0-beta.3
    Package not available.
      Message: Unable to retrieve package details for 'Logary'-5.0.0-beta.3
 - Logary 5.0.0-beta.2
    Package not available.
      Message: Unable to retrieve package details for 'Logary'-5.0.0-beta.2
  Conflict detected:
   - Dependencies file requested package Logary.Targets.Mixpanel: >= 0 prerelease*
   - Available versions:
     - (5.0.0-beta.3, [https://api.nuget.org/v3/index.json])
     - (5.0.0-beta.2, [https://api.nuget.org/v3/index.json])

The process is taking longer than expected.
Paket may still find a valid resolution, but this might take a while.
Performance:
 - Resolver: 3 seconds (1 runs)
    - Runtime: 280 milliseconds
    - Blocked (retrieving package details): 2 seconds (107 times)
    - Blocked (retrieving package versions): 1 second (1 times)
    - Not Blocked (retrieving package versions): 5 times
    - Not Blocked (retrieving package details): 11 times
 - Average Request Time: 113 milliseconds
 - Number of Requests: 26
 - Runtime: 4 seconds
Paket failed with
-> There was a version conflict during package resolution.
     Resolved packages:
      - Logary 2.6.0
     Conflict detected:
      - Dependencies file requested package Logary.Targets.Mixpanel: >= 0 prerelease*
      - Available versions:
        - (5.0.0-beta.3, [https://api.nuget.org/v3/index.json])
        - (5.0.0-beta.2, [https://api.nuget.org/v3/index.json])

     Please try to relax some conditions or resolve the conflict manually (see http://fsprojects.github.io/Paket/nuget-dependencies.html#Use-exactly-this-version-constraint).
	-  Unable to retrieve package details for 'Logary'-5.0.0-beta.2
	-> Couldn't get package details for package Logary 5.0.0-beta.2 on https://api.nuget.org/v3/index.json.
	-  Unable to retrieve package details for 'Logary'-5.0.0-beta.3
	-> Couldn't get package details for package Logary 5.0.0-beta.3 on https://api.nuget.org/v3/index.json.
	-  Unable to retrieve package details for 'Logary.Targets.Mixpanel'-5.0.0-beta.2
	-> Couldn't get package details for package Logary.Targets.Mixpanel 5.0.0-beta.2 on https://api.nuget.org/v3/index.json.
	-  Unable to retrieve package details for 'Logary.Targets.Mixpanel'-5.0.0-beta.3
	-> Couldn't get package details for package Logary.Targets.Mixpanel 5.0.0-beta.3 on https://api.nuget.org/v3/index.json.
	-  Unable to retrieve package details for 'Logary.Adapters.Facade'-5.0.0-beta.3
	-> Couldn't get package details for package Logary.Adapters.Facade 5.0.0-beta.3 on https://api.nuget.org/v3/index.json.
	-  Unable to retrieve package details for 'Logary'-5.0.0-beta.2
	-> Couldn't get package details for package Logary 5.0.0-beta.2 on https://api.nuget.org/v3/index.json.
	-  Unable to retrieve package details for 'Logary'-5.0.0-beta.3
	-> Couldn't get package details for package Logary 5.0.0-beta.3 on https://api.nuget.org/v3/index.json.
@forki

This comment has been minimized.

Member

forki commented Apr 16, 2018

image

so given your sample the resolver seems to work fine, but NuGet API doesn't give us details for these versions.

@haf

This comment has been minimized.

Member

haf commented Apr 16, 2018

Your screenshot shows the resolver failing and resolving the old version.

Why can I install it with nuget in rider if there's no info given from the API?

@forki

This comment has been minimized.

Member

forki commented Apr 17, 2018

@haf

This comment has been minimized.

Member

haf commented Apr 17, 2018

@maartenba

This comment has been minimized.

maartenba commented Apr 17, 2018

Ask internally? I have left Microsoft two years ago :-)

@haf

This comment has been minimized.

Member

haf commented Apr 17, 2018

@forki

This comment has been minimized.

Member

forki commented Apr 17, 2018

https://api.nuget.org/v3/registration3/logary/index.json doesn't show the beta versions.

(I have a fallback to v3 working locally. But it's still an nuget server issue)

@forki

This comment has been minimized.

Member

forki commented Apr 17, 2018

ok. I released a workaround. I does fallback to v2 API for this,

@matthid

This comment has been minimized.

Member

matthid commented Apr 17, 2018

@forki Actually it was by design that v3 did not fallback to v2. This is because users can change their URL manually and it just hides bugs ;)

@forki

This comment has been minimized.

Member

forki commented Apr 17, 2018

that wasn't a good design. ;-)

@forki

This comment has been minimized.

Member

forki commented Apr 17, 2018

in all seriousness: I wish I had a better idea. but this is broken and hurts people

@matthid

This comment has been minimized.

Member

matthid commented Apr 17, 2018

It uncovered this issue and we really need to fix the root cause and not fallback to v2...

@forki

This comment has been minimized.

Member

forki commented Apr 17, 2018

@matthid

This comment has been minimized.

Member

matthid commented Apr 17, 2018

but this is broken and hurts people

@haf is it really hurting? Can't you just put in the v2 feed url as a manual workaround?

@forki

This comment has been minimized.

Member

forki commented Apr 17, 2018

@matthid

This comment has been minimized.

Member

matthid commented Apr 17, 2018

Well only beta users. And honestly you should expect things to break in beta.

@forki

This comment has been minimized.

Member

forki commented Apr 17, 2018

@matthid

This comment has been minimized.

Member

matthid commented Apr 17, 2018

image

RegistrationsBaseUrl/3.0.0-rc is what we currently use

@matthid

This comment has been minimized.

Member

matthid commented Apr 17, 2018

I think the fix would be to prefer the /3.6.0 entry if it exists and fallback to what we use now. From my quick tests it looks like the APIs behave the same (at least in postman)

@matthid

This comment has been minimized.

Member

matthid commented Apr 17, 2018

Currently we use PackageDisplayMetadataUriTemplate in the code and there is no corresponding entry for the -gz-semver2 endpoint. So the change is probably just a bit more difficult than just replacing the entry. I can send a PR on the weekend if noone can fix it until then (it should be quite straight forward).

@haf

This comment has been minimized.

Member

haf commented Apr 17, 2018

@matthid No I can't put v2, because then I'm not forwards compatible. I (generally) want my app repo to be up to date with best practises, so I want to use the latest for everything. Also, I'm not letting my users deal with this. It affects all semver2 nugets, so arguably paket is horribly broken for this use-case.

@matthid

This comment has been minimized.

Member

matthid commented Apr 17, 2018

@haf I don’t agree. yes we need a prop

@matthid matthid closed this Apr 17, 2018

@matthid matthid reopened this Apr 17, 2018

@matthid

This comment has been minimized.

Member

matthid commented Apr 17, 2018

Sorry mobile ;). Yes we need a proper fix but until we have it changing urls is ok. it’s not like we broke anyone. it neve worked

@matthid

This comment has been minimized.

Member

matthid commented Apr 17, 2018

You could have easily released a non-semver2 version as well.

@matthid

This comment has been minimized.

Member

matthid commented Apr 17, 2018

Really all I'm trying to say is that there was not really a reason to rush into a workaround release. Though I agree that this is kind of a critical bug (and I was shocked when you reported it)

@maartenba

This comment has been minimized.

maartenba commented Apr 17, 2018

They are the same indeed, just the 3.6.0 version has SemVer 2 packages, the other one does not. NuGet client uses the fallback as well, I believe. Older NuGet.exe and derivatives use the non-SemVer2 version.

matthid added a commit that referenced this issue May 1, 2018

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