jdx/mise

Inconsistent Behavior with Installing and Uninstalling Tools Using `ubi` or `aqua` Backend

Closed this issue · 0 comments

Hi,

I noticed some inconsistencies while installing and uninstalling tools using the ubi or aqua backends.

The documentation indicates that I should install and use a CLI with this command:

mise use -g ubi:jdx/usage

This works as expected, installing the usage tool and adding it to my global config. My config entry appears as:

"ubi:jdx/usage" = "latest"

However, when I run mise ls, the output is:

ubi-jdx-usage                 1.3.0
ubi:jdx/usage                 1.3.0                  ~/.config/mise/config.toml latest

There are two entries associated with this installation. Is this normal behavior? If so, is there documentation explaining why?

To uninstall the tool, I first tried:

mise uninstall ubi:jdx/usage
mise WARN  no versions found for ubi:jdx/usage

Instead, I had to use the following command:

mise uninstall ubi-jdx-usage
mise ubi-jdx-usage@1.3.0   ✓ uninstalled

Afterward, running mise ls showed:

ubi:jdx/usage                 1.3.0 (missing)        ~/.config/mise/config.toml latest

I assume this is expected because the tool was uninstalled, but I don’t understand why ubi-jdx-usage disappears automatically.

Could you please clarify this behavior?

mise doctor output
version: 2024.11.12 linux-x64 (b575252 2024-11-14)
activated: yes
shims_on_path: no

build_info:
  Target: x86_64-unknown-linux-gnu
  Features: DEFAULT, NATIVE_TLS, OPENSSL
  Built: Thu, 14 Nov 2024 08:09:44 +0000
  Rust Version: rustc 1.82.0 (f6e511eec 2024-10-15)
  Profile: release

shell:
  /usr/bin/zsh
  zsh 5.9 (x86_64-ubuntu-linux-gnu)

dirs:
  data: ~/.local/share/mise
  config: ~/.config/mise
  cache: ~/.cache/mise
  state: ~/.local/state/mise
  shims: ~/.local/share/mise/shims

config_files:
  ~/.config/mise/config.toml

backends:
  aqua
  asdf
  cargo
  core
  go
  npm
  pipx
  spm
  ubi
  vfox
  unknown

plugins:
  1password-cli  https://github.com/NeoHsu/asdf-1password-cli.git#f5d5aab
  awscli         https://github.com/MetricMike/asdf-awscli.git#c26bbb4
  helm           https://github.com/Antiarchitect/asdf-helm.git#091d00f
  kafka          https://github.com/ueisele/asdf-kafka.git#6c9dbc6
  maven          https://github.com/mise-plugins/asdf-maven.git#c872214
  terraform      https://github.com/asdf-community/asdf-hashicorp.git#22eb1c4

toolset:
  asdf:NeoHsu/asdf-1password-cli@2.30.3
  aqua:awslabs/amazon-ecr-credential-helper@0.9.0
  ubi:argoproj/argo-cd[exe=argocd]@2.13.0
  asdf:MetricMike/asdf-awscli@2.21.0
  aqua:eksctl-io/eksctl@0.194.0
  core:go@1.23.3
  aqua:helm/helm@3.16.3
  core:java@corretto-17.0.13.11.1
  aqua:jqlang/jq@1.7.1
  ubi:derailed/k9s@0.32.6
  asdf:ueisele/asdf-kafka@apache-3.7.1
  aqua:kubernetes/kubectl@1.31.2
  asdf:mise-plugins/asdf-maven@3.9.9
  core:node@16.20.2
  aqua:pre-commit/pre-commit@4.0.1
  asdf:asdf-community/asdf-hashicorp@1.9.8
  aqua:terraform-docs/terraform-docs@0.19.0
  aqua:gruntwork-io/terragrunt@0.68.13
  ubi:terraform-linters/tflint@0.54.0
  ubi:jdx/usage@1.3.0
  ubi:mikefarah/yq@4.44.3

env_vars:
  MISE_SHELL=zsh

settings:
  activate_aggressive = false
  all_compile = false
  always_keep_download = false
  always_keep_install = false
  asdf_compat = false
  cache_prune_age = "30d"
  ci = false
  color = true
  debug = false
  disable_backends = []
  disable_default_registry = false
  disable_hints = []
  disable_tools = []
  experimental = true
  fetch_remote_versions_cache = "1h"
  fetch_remote_versions_timeout = "60s"
  go_default_packages_file = "~/.default-go-packages"
  go_download_mirror = "https://dl.google.com/go"
  go_repo = "https://github.com/golang/go"
  go_set_gopath = false
  go_set_goroot = true
  go_skip_checksum = true
  http_timeout = "60s"
  jobs = 4
  legacy_version_file = false
  legacy_version_file_disable_tools = []
  libgit2 = true
  lockfile = false
  log_level = "info"
  not_found_auto_install = false
  paranoid = false
  pin = false
  plugin_autoupdate_last_check_duration = "7d"
  quiet = false
  raw = false
  task_timings = false
  trace = false
  trusted_config_paths = []
  unix_default_file_shell_args = ["sh"]
  unix_default_inline_shell_args = [
      "sh",
      "-c",
  ]
  use_file_shell_for_executable_tasks = false
  use_versions_host = false
  verbose = false
  windows_default_file_shell_args = [
      "cmd",
      "/c",
  ]
  windows_default_inline_shell_args = [
      "cmd",
      "/c",
  ]
  windows_executable_extensions = [
      "exe",
      "bat",
      "cmd",
      "com",
      "ps1",
      "vbs",
  ]
  yes = false

  [cargo]
  binstall = true

  [node]

  [npm]
  bun = false

  [pipx]
  uvx = false

  [python]
  default_packages_file = "~/.default-python-packages"
  pyenv_repo = "https://github.com/pyenv/pyenv.git"
  venv_auto_create = false
  venv_stdlib = false

  [ruby]
  default_packages_file = "~/.default-gems"
  ruby_build_repo = "https://github.com/rbenv/ruby-build.git"
  ruby_install = false
  ruby_install_repo = "https://github.com/postmodern/ruby-install.git"

  [status]
  missing_tools = "if_other_versions_installed"
  show_env = false
  show_tools = false
No warnings found
No problems found

P.S. Of course when I run mise use -g usage there is no such problem, only when I specify the backend directly.