fsprojects / fsprojects/Paket

paket update can't get nuget dependencies with an "." inside the name

Open
#4,136 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
F#
Stars
2.1k
Forks
528
Avg merge
1d 12m
Merged PRs (30d)
54

Description

Description

In some NuGet package names, we included the version we are currently building to be sure that the project only takes its version dependencies.

nuget net-project-v1-test

In the case we need the create a patch inside this version, the name will contain a period

nuget net-project-v1.1-test

When the main project is doing a paket update to get every package dependencies he needs, Paket update makes an error on the package with "." even if the package is inside the local source.

The error

Please check the feed definition in your paket.dependencies file.
at Microsoft.FSharp.Core.PrintfModule.PrintFormatToStringThenFail@1433.Invoke(String message)
at Paket.NuGetLocal.getDetailsFromLocalNuGetPackage@63.Invoke(Unit unitVar)
at Microsoft.FSharp.Control.AsyncPrimitives.CallThenInvoke[T,TResult](AsyncActivation1 ctxt, TResult result1, FSharpFunc2 part2)
at Microsoft.FSharp.Control.Trampoline.Execute(FSharpFunc2 firstAction) Something failed in GetPackageDetails, trying again with force: Couldn't get package details for package net-project-v1.1-test 36.3.65500 on \PackageSource. Source \PackageSource' exception: System.Exception: The package net-project-v1.1-test 36.3.65500 can't be found in \PackageSource. Please check the feed definition in your paket.dependencies file. at Microsoft.FSharp.Core.PrintfModule.PrintFormatToStringThenFail@1433.Invoke(String message) at Paket.NuGetLocal.getDetailsFromLocalNuGetPackage@63.Invoke(Unit unitVar) at Microsoft.FSharp.Control.AsyncPrimitives.CallThenInvoke[T,TResult](AsyncActivation1 ctxt, TResult result1, FSharpFunc2 part2) at Microsoft.FSharp.Control.AsyncPrimitives.unitAsync@577.Invoke(AsyncActivation1 ctxt)
at Microsoft.FSharp.Control.Trampoline.Execute(FSharpFunc`2 firstAction)
Package not available.
Message: Unable to retrieve package details for 'net-project-v1.1-test'-36.3.65500
Resolution finished, but some errors were encountered:
-> Unable to retrieve package details for 'net-project-v1.1-test'-36.3.65500
-> Couldn't get package details for package net-project-v1.1-test 36.3.65500 on

Repro steps
  1. Having a project with dependencies that contain a "." inside the package name
  2. Build the package with a "." inside the name and copy this package inside a local directory
  3. Be sure that the paket.dependencies file have the local directory as a source
  4. Before building the project that is inside another directory, make a paket update so paket will get the dependencies
  5. Same error should be happening
Expected behavior

paket should be able to get package with a "." inside the name

Known workarounds

Remove the "." inside the package name

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with Paket.NuGetLocal.getDetailsFromLocalNuGetPackage, identified in the error trace, and reproduce the failure using a local package whose name contains a period. Done means paket update retrieves the package dependencies successfully without requiring the period to be removed.

Written by the indexing model from the issue text.

Assessment

Tech stack
fsharp
Domain
tooling
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.