What it says on the tin. Crates can be installed with alr install, but I can’t seem to find any way to uninstall them. The binaries can be deleted, but Alire does some internal bookkeeping and believes that they are still installed.
Hi @nekodjin!
First things first, welcome to the forums ^^
I took a look at the docs and Alire does support uninstalling toolchains… But looking a bit deeper, in the alr install section it says:
At present, only binary releases can be installed (e.g., compilers,
gprbuild,gnatprove). There is no ability to uninstall releases either (but reinstallation can be forced).
So… I am even surprised myself, but it does not seem to support uninstalling crates via alr install… I will se if this has already been reported in the Alire repository and if not, make an issue.
Best,
Fer
Edit: there does not seem to be an open issue regarding uninstalling. I will open one now.
Edit 2: opened issue here
I wonder if removing the cache directory would work but that might remove more than you would like.
Given that Alire uses gprinstall, maybe there’s a way to call gprinstall --uninstall to do the job, like alr exec -P1 -- gprinstall --uninstall --prefix=~/.alire/. But I guess that, if it were so easy, Alire would have already implemented it.
Indeed, the cause of unavailability of --uninstall is that installation for crates from sources and from binaries is different, with the latter not using gprinstall.
It’s a matter of time, but time is scarce, alas…
The trick to make Alire forget that something is installed is to remove the <prefix>/share/gpr/manifests/<crate>=<version> file.