Closed alexeyzimarev closed 8 years ago
IIRC nuget doesn't recompute the whole dependency tree and this allows to introduce conflicts (in very rare cases). We don't want to go that route in paket.
Usually updating a single package should still be relatively fast since we "soft pin" most dependencies and this should keep traffic low. But there might be still some edge case where paket isn't smart enough yet. We would need good samples to reproduce that.
Doesn't paket already have the whole dependency tree in paket.lock and just need to fetch new dependencies from the package that is being updated, fix the lock file accordingly and have the tree ready?
yes. in most cases.
but the new updated version might bring in new requirements that break the whole dependency graph. these things exist in the real world. We need to recompute then. The strange things is: usally (if nothing important changes) the process is smart and very fast. So it must find something strange in your case and recompute too much.
$ .paket\paket update
Paket version 2.27.14.0
Resolving packages for group Main:
2 minutes, 3 seconds - ready.
but why did you run update? I thought you changed only one package?
so try to run "paket update nuget X"
or what is the process you want to do?
$ .paket\paket update nuget Services.Base
Paket version 2.27.14.0
Updating Services.Base in C:\Dev\Worker\Worker.Services.Customer\src\paket.
oup Main
Resolving packages for group Main:
1 minute, 19 seconds - ready.
looks like your packages are all on nuget,org. Can you send me the paket.depedencies and lock files? Then I might be able to look deeper
Unfortunately those are on myget private feed:
Services.Base 0.1.0-ci0007 Services.DataAccess 0.2.0-unstable0013 Services.DataAccess.InMemory 0.2.0-unstable0013 EventSourcing 2.0.0-unstable0052 EventSourcing.EventStore 2.0.0-beta0037 EventSourcing.Subscriptions 2.0.0-beta0009 EventSourcing.Testing 2.0.0-unstable0052
I will figure something out
I improved the update performance. Can you please retry and tell me if things improved for you? And please run the update twice since we now cache more than before.
ping
Sorry. We are using paket in lots of projects and I executed the update many times with all recent versions, it works perfectly fine.
Currently, requesting to update one nuget package initiates a lengthy process for all packages (not sure why is that). In a project with tens of packages this takes significantly longer time than by using nuget package manager, which is frustrating. For internal packages that change often this creates issues for developers that need to update them often.