Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for removing multiple packages with cargo uninstall #4560

Closed
nossralf opened this issue Oct 1, 2017 · 2 comments · Fixed by #4561
Closed

Add support for removing multiple packages with cargo uninstall #4560

nossralf opened this issue Oct 1, 2017 · 2 comments · Fixed by #4561
Labels
C-feature-request Category: proposal for a feature. Before PR, ping rust-lang/cargo if this is not `Feature accepted` Command-uninstall

Comments

@nossralf
Copy link
Contributor

nossralf commented Oct 1, 2017

The ergonomics of cargo uninstall would be improved if it supported uninstalling multiple packages at once.

Since many tools (rustfmt included) require nightly to install, it's not uncommon to use nightly with cargo install. However, since nightly receives daily updates, the binaries installed with cargo install usually stop working with a nightly update (since the underlying dynamic library file names tend to change) which requires frequent cargo uninstall/cargo install gymnastics.

Furthermore, supporting uninstallation of multiple packages with a single command would mirror the ability to install multiple packages with a single cargo install command.

Open question:

  • How should specifying --bin interact with uninstallation of multiple packages? (I believe this isn't handled in the cargo install case, so it may be a moot point here as well.)
@carols10cents carols10cents added C-feature-request Category: proposal for a feature. Before PR, ping rust-lang/cargo if this is not `Feature accepted` Command-uninstall labels Oct 3, 2017
@withoutboats
Copy link
Contributor

Since many tools (rustfmt included) require nightly to install, it's not uncommon to use nightly with cargo install. However, since nightly receives daily updates, the binaries installed with cargo install usually stop working with a nightly update (since the underlying dynamic library file names tend to change) which requires frequent cargo uninstall/cargo install gymnastics.

To me it seems like we should provide tooling to avoid those gymnastics rather than making the gymnastics easier to do - that is, some way to rebuild the cargo install'd projects that depend on nightly dynamic libraries when nightly is updated.

@nossralf
Copy link
Contributor Author

nossralf commented Oct 5, 2017

I can get on-board with that.

However, I still believe it's worth having cargo uninstall be more similar to cargo install's current behavior in supporting multiple package specs. It also makes life a tad easier in the meantime.

bors added a commit that referenced this issue Oct 30, 2017
Support uninstallation of multiple packages

This is a WIP pull request with support for uninstalling multiple packages. It mirrors the logic used for `cargo install`.

Fixes #4560
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C-feature-request Category: proposal for a feature. Before PR, ping rust-lang/cargo if this is not `Feature accepted` Command-uninstall
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants