`pkgx install` should overwrite existing versions
Let's say I previously had:
pkgx install java@17
Then later:
$ pkgx install java@11
pkgx: already installed: java (openjdk.org^17)
$ echo $?
0
Here is what I think:
-
pkgx installshould uninstall if previously installed and then install again the new version. Just likesudo apt-get install docker-ce-cli=5:25.0.3-1~ubuntu.22.04~jammy. -
If 1 is too hard to be implemented, the least pkgx should do is to return a non-zero code when another version of the package is already installed.
This happened in my CI/CD, where I ship an environment with pkgx install java@17, but some services needed to use java@11.
Their pipelines were configured to run pkgx install java@11 but since a succesful exit code was given, the application was still being built with java@17.
yeah, the non-zero exit code feels incorrect.
as far as your CI/CD goes, even something as simple as: rm -r ~/.local/bin || true should be sufficient, if you need to use the install functionality, rather than either an environment or shebang-style invocation.
as far as your CI/CD goes, even something as simple as:
rm -r ~/.local/bin || trueshould be sufficient, if you need to use theinstallfunctionality, rather than either an environment or shebang-style invocation.
Yeah. For now I do pkgx uninstall java before pkgx install.