pkgx
pkgx copied to clipboard
`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 install
should 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 || true
should be sufficient, if you need to use theinstall
functionality, rather than either an environment or shebang-style invocation.
Yeah. For now I do pkgx uninstall java
before pkgx install
.