-
-
Notifications
You must be signed in to change notification settings - Fork 42
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
Command to remove outdated packages/binaries #2942
Comments
Thank you for your proposal. I think this proposal makes sense. I think we need to do the following things.
https://aquaproj.github.io/docs/reference/registry-config/#package-types
Another solution is to use a machine with enough storage lol. |
Related proposal: |
A related implementation is proposed in #3442 |
One question: After upgrading and
Meaning, there are four old versions around, but only the newest got a timestamp. The docs say:
So even after running If so, Operation Burn Everything seems inevitable. |
Yes, this is the current limitation. Or if you can list old versions, you can generate aqua.yaml based on the list and run Now aqua doesn't have the feature to list all installed package versions. |
Understood, thanks I was trying to avoid
If I could do that, I could (I've also yet to find a way to list all commands (not packages) provided by any given aqua config -- but that's a whole different issue I'll have to think about a bit more. ;)) |
Yes, I think so too. |
Feature Overview
As a (power 😇) user, I want to maintain my user-space, cross-project tooling with aqua without blowing up storage usage over time.
I understand that an automatism is hard to conceive of, due to the highly dynamic and semi-stateless way aqua works. However, a command for me to call would solve my use case; I would just integrate it into my upgrade routine.
Why is the feature needed?
When I frequently upgrade tools installed through aqua, it assembles quite a volume of files. After just a few days of usage, I have:
Meanwhile, a clean install results in
With a few rather active tools in my list, I expect to need a cleanup routine sooner rather than later.
Workaround
While I can definitely
aqua rm --all
and rely on lazy install, depending on when/where the install triggers, the experience is less than pretty. For instance, with direnv/direnv and starship/starship:
I guess I could do this as an "atomic" action:
aqua rm --all && aqua install -a
But then I would always re-download all tools, which seems a waste of time and bandwidth.
Example Code
I imagine we could have something like:
$ aqua rm --outdated
This would delete all versions except the latest ones.
(This would, of course, cause re-installs for all projects that pin an older version. For me, that'd be acceptable.)
Note sure how one would encode "delete all versions but the ones pinned in the global config" --
--all
means different things toaqua install
andaqua rm
. 🤔Maybe a dedicated command like
$ aqua clean [--all]
could delete all versions but the once references in the current scope?
Note
I found this, which seems to leave room for future discussions:
So here I am. 😁
The text was updated successfully, but these errors were encountered: