Coder Social home page Coder Social logo

Comments (3)

PascalSenn avatar PascalSenn commented on June 3, 2024 1

i run into the same issue.

I believe the problem is in this bit:

var packages = packagesDirectoryInfo
.GetDirectories(packageId)
.SelectMany(x => x.GetDirectories())
.SelectMany(x => x.GetFiles($"{packageId}*.nupkg"))
.Concat(packagesDirectoryInfo
.GetDirectories($"{packageId}*")
.SelectMany(x => x.GetFiles($"{packageId}*.nupkg")))
.Where(x => x.Name.StartsWithOrdinalIgnoreCase(packageId))
.Select(x => x.FullName);
var candidatePackages = packages.Select(x => new InstalledPackage(x))
// packages can contain false positives due to present/missing version specification
.Where(x => x.Id.EqualsOrdinalIgnoreCase(packageId))
.Where(x => !x.Version.IsPrerelease || !includePrereleases.HasValue || includePrereleases.Value)
.OrderByDescending(x => x.Version)
.ToList();
return versionRange == null
? candidatePackages.FirstOrDefault()
: candidatePackages.SingleOrDefault(x => x.Version == versionRange.FindBestMatch(candidatePackages.Select(y => y.Version)));

the discovered packages are

[0] = {string} "/Users/p/.nuget/packages/barista/1.0.0-preview.16/barista.1.0.0-preview.16.nupkg"
[1] = {string} "/Users/p/.nuget/packages/barista/7.10.1/barista.7.10.1.nupkg"
[2] = {string} "/Users/p/.nuget/packages/barista/7.10.1/Barista.nupkg"
[3] = {string} "/Users/p/.nuget/packages/barista/7.3.5/barista.7.3.5.nupkg"
[4] = {string} "/Users/p/.nuget/packages/barista/8.0.0/barista.8.0.0.nupkg"
[5] = {string} "/Users/p/.nuget/packages/barista/8.0.0/Barista.nupkg"
[6] = {string} "/Users/p/.nuget/packages/barista/1.0.0-preview.8/barista.1.0.0-preview.8.nupkg"
[7] = {string} "/Users/p/.nuget/packages/barista/1.4.2/barista.1.4.2.nupkg"
[8] = {string} "/Users/p/.nuget/packages/barista/1.4.4/barista.1.4.4.nupkg"
[9] = {string} "/Users/p/.nuget/packages/barista/1.0.0-preview.25/barista.1.0.0-preview.25.nupkg"

So it discovered the .net 8 one twice:

[4] = {string} "/Users/p/.nuget/packages/barista/8.0.0/barista.8.0.0.nupkg"
[5] = {string} "/Users/p/.nuget/packages/barista/8.0.0/Barista.nupkg"

Which leads to the following candidatePackages:

[0] = {NuGetPackageResolver.InstalledPackage} Barista.8.0.0
[1] = {NuGetPackageResolver.InstalledPackage} Barista.8.0.0
[2] = {NuGetPackageResolver.InstalledPackage} Barista.7.10.1
[3] = {NuGetPackageResolver.InstalledPackage} Barista.7.10.1
[4] = {NuGetPackageResolver.InstalledPackage} Barista.7.3.5
[5] = {NuGetPackageResolver.InstalledPackage} Barista.1.4.4
[6] = {NuGetPackageResolver.InstalledPackage} Barista.1.4.2
[7] = {NuGetPackageResolver.InstalledPackage} Barista.1.0.0-preview.25
[8] = {NuGetPackageResolver.InstalledPackage} Barista.1.0.0-preview.16
[9] = {NuGetPackageResolver.InstalledPackage} Barista.1.0.0-preview.8

which then leads to the execption here, because there are two canidates that match:

: candidatePackages.SingleOrDefault(x => x.Version == versionRange.FindBestMatch(candidatePackages.Select(y => y.Version)));

@matkoch would just switching to FirstOrDefault there be an option?

from nuke.

matkoch avatar matkoch commented on June 3, 2024

Sounds more like a bug in Paket.

from nuke.

mkay-sh avatar mkay-sh commented on June 3, 2024

For me it looks like the two nupkg files in the global packages folder are created for all dotnet tools I install. For example in dotnet-ef there is a dotnet-ef.8.0.0.nupkg and a dotnet.nupkg file as well. Maybe there are some changes in the handling of dotnet tools with the new sdk?

from nuke.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.