question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Package is resolved to different versions randomly on multiple paket update runs

See original GitHub issue

Description

When I run paket update on this solution, it sometimes resolves the package NLog to version 4.4.6 instead of 4.4.12 for no apparent reason (no backtracking seems to occur, it’s the first version that appears in the console output). This seems to occur randomly, multiple runs of Paket flips between the two package versions. I’ve run it 10 times, and it picked the incorrect version 4 times, so it’s close to a 50-50 chance.

EDIT: This has nothing to do with the latest version, it happens with v5.124.1 too.

Repro steps

  1. Run paket update on this solution a few times. This will produce the following two outputs randomly:
>paket update

Paket version 5.135.0
Resolving packages for group Main:
 - Microsoft.CodeAnalysis.CSharp is pinned to 1.3.2
 - Microsoft.CodeAnalysis.Common is pinned to 1.3.2
 - Microsoft.Orleans.Core is pinned to 1.3.1
 - Microsoft.Orleans.OrleansRuntime is pinned to 1.3.1
 - Microsoft.Orleans.OrleansProviders is pinned to 1.3.1
 - Microsoft.Orleans.OrleansSqlUtils is pinned to 1.3.1
 - Microsoft.Orleans.OrleansZooKeeperUtils is pinned to 1.3.1
 - Microsoft.Orleans.OrleansCodeGenerator is pinned to 1.3.1
 - Microsoft.Orleans.OrleansCodeGenerator.Build is pinned to 1.3.1
 - Microsoft.Orleans.TestingHost is pinned to 1.3.1
 - Microsoft.Extensions.DependencyInjection.Abstractions is pinned to 1.1.1
 - Microsoft.Extensions.DependencyInjection is pinned to 1.1.1
 - Newtonsoft.Json 9.0.1
 - Nito.AsyncEx 4.0.1
 - System.Threading.Tasks.Dataflow 4.8.0
 - System.ComponentModel.Annotations 4.4.1
 - Castle.Core 4.2.1
 - NLog 4.4.6
 - ZooKeeperNetEx 3.4.10.1
[...]

>paket update

Paket version 5.135.0
Resolving packages for group Main:
 - Microsoft.CodeAnalysis.CSharp is pinned to 1.3.2
 - Microsoft.CodeAnalysis.Common is pinned to 1.3.2
 - Microsoft.Orleans.Core is pinned to 1.3.1
 - Microsoft.Orleans.OrleansRuntime is pinned to 1.3.1
 - Microsoft.Orleans.OrleansProviders is pinned to 1.3.1
 - Microsoft.Orleans.OrleansSqlUtils is pinned to 1.3.1
 - Microsoft.Orleans.OrleansZooKeeperUtils is pinned to 1.3.1
 - Microsoft.Orleans.OrleansCodeGenerator is pinned to 1.3.1
 - Microsoft.Orleans.OrleansCodeGenerator.Build is pinned to 1.3.1
 - Microsoft.Orleans.TestingHost is pinned to 1.3.1
 - Microsoft.Extensions.DependencyInjection.Abstractions is pinned to 1.1.1
 - Microsoft.Extensions.DependencyInjection is pinned to 1.1.1
 - Newtonsoft.Json 9.0.1
 - Nito.AsyncEx 4.0.1
 - System.Threading.Tasks.Dataflow 4.8.0
 - System.ComponentModel.Annotations 4.4.1
 - Castle.Core 4.2.1
 - NLog 4.4.12
 - ZooKeeperNetEx 3.4.10.1
[...]

Expected behavior

NLog package should consistently be resolved to version 4.4.12.

Actual behavior

NLog package is sometimes downgraded to 4.4.6.

Known workarounds

Run paket update multiple times until the correct versions are resolved.

Issue Analytics

  • State:closed
  • Created 6 years ago
  • Comments:28 (17 by maintainers)

github_iconTop GitHub Comments

1reaction
matthidcommented, Feb 11, 2018

Reported this to NuGet directly: https://github.com/NuGet/NuGetGallery/issues/5431

0reactions
Allon-Guralnekcommented, Feb 11, 2018

Looks okay now, closing. Thanks everyone!

Read more comments on GitHub >

github_iconTop Results From Across the Web

Paket Issues - Steve Ellwood - Medium
I'm using Paket in my C# libraries and applications. ... In this case I wanted a library to be fixed to a specific...
Read more >
paket update
First, the current paket.lock file is deleted. paket update then recomputes the current dependency resolution, as explained under Package resolution algorithm, ...
Read more >
Are Paket dependency groups more than just a way to ...
With the separation between BUILD and RUN-time this is not a problem and you can see them as "different" dependencies in different versions....
Read more >
FAQ — Frequently Asked Questions
paket.lock records the actual versions used during resolution. If it exists, Paket will ensure that the same versions are used when restoring packages....
Read more >
Package management
Package management. Ubuntu features a comprehensive package management system for installing, upgrading, configuring, and removing software.
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found