Skip to content

Paket remove doesn't remove clitool packages from dependencies file #3654

Description

@beatcracker

Description

paket remove doesn't remove clitool packages from dependencies file.

Repro steps

  1. Run this repro script. It uses paket in magic mode, but you can edit it to set paket=paket if you have it installed globally.

  2. Observe script output/paket.dependencies file: clitool dependecy is not removed.

Example

Could Not Find c:\paket-remove-repro\paket.dependencies
Could Not Find c:\paket-remove-repro\paket.lock
Paket version 5.219.0
Saving file c:\paket-remove-repro\paket.dependencies
c:\paket-remove-repro\.paket\paket.targets
Downloading file from https://github.com/fsprojects/Paket/releases/download/5.219.0/paket.targets to c:\paket-remove-repro\.paket\paket.targets
c:\paket-remove-repro\.paket\paket.bootstrapper.exe
Downloading file from https://github.com/fsprojects/Paket/releases/download/5.219.0/paket.bootstrapper.exe to c:\paket-remove-repro\.paket\paket.bootstrapper.exe
Performance:
 - Runtime: 2 seconds

------------------------------
Empty: paket.dependencies
------------------------------

source https://www.nuget.org/api/v2


------------------------------

Paket version 5.219.0
Adding Invoke-Build to c:\paket-remove-repro\paket.dependencies into group Main
Resolving packages for group Main:
 - Invoke-Build 5.5.3
Locked version resolution written to c:\paket-remove-repro\paket.lock
Dependencies files saved to c:\paket-remove-repro\paket.dependencies
 - Creating model and downloading packages.
 - Installing for projects
Performance:
 - Resolver: 2 seconds (1 runs)
    - Runtime: 132 milliseconds
    - Blocked (retrieving package details): 190 milliseconds (1 times)
    - Blocked (retrieving package versions): 2 seconds (1 times)
 - Disk IO: 24 milliseconds
 - Average Request Time: 1 second
 - Number of Requests: 2
 - Runtime: 3 seconds

------------------------------
Package added: paket.dependencies
------------------------------

source https://www.nuget.org/api/v2
clitool Invoke-Build

-------------------------------

Paket version 5.219.0
Removing Invoke-Build from c:\paket-remove-repro\paket.dependencies (group Main)
Dependencies files saved to c:\paket-remove-repro\paket.dependencies
Skipping resolver for group Main since it is already up-to-date
c:\paket-remove-repro\paket.lock is already up-to-date
 - Creating model and downloading packages.
 - Installing for projects
Performance:
 - Disk IO: 5 milliseconds
 - Runtime: 967 milliseconds

------------------------------
Package removed: paket.dependencies
------------------------------

source https://www.nuget.org/api/v2
clitool Invoke-Build

-------------------------------

Expected behavior

Paket should remove packages from paket.dependencies no matter what type they are.

Actual behavior

Paket remove doesn't remove clitool packages from dependencies file. Probably other non-NuGet package types also. See: How to add/remove github dependancy with paket?

Known workarounds

None, barring the manually editing of the paket.dependencies file. Makes automated scenarios fragile.

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions