mise icon indicating copy to clipboard operation
mise copied to clipboard

Stuck Mise with flag --verbose

Open Ernest0-Production opened this issue 3 months ago • 1 comments

Describe the bug

If you add an environment variable in the env table (in the .toml file), the value of which is computed through the command, then when you call any mise command with the --verbose flag, everything hangs on this line:

[DEBUG] ARGS: /Users/ernest0n/.local/bin/mise install --verbose

If you remove the --verbose flag, there are no problems, the values of computed variables are determined correctly.

To Reproduce

  1. Add a line to the tool file:
[env]
MY_VARIABLE = "{{ exec(command:'echo 123') }}"
  1. Run mise install --verbose

Expected behavior

Executing the command does not freeze

mise doctor output

version: 2024.3.1 macos-arm64 (0d95fde 2024-03-04)
activated: yes
shims_on_path: no

build_info: 
  Target: aarch64-apple-darwin
  Features: DEFAULT, NATIVE_TLS, OPENSSL
  Built: Mon, 4 Mar 2024 22:02:06 +0000
  Rust Version: rustc 1.76.0 (07dca489a 2024-02-04)
  Profile: release

shell: 
  /bin/zsh
  zsh 5.9 (x86_64-apple-darwin22.0)

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

config_files: 
  ~/.config/mise/config.toml
  ~/Projects/example/Gemfile
  ~/Projects/example/.mise/config.toml

plugins: 
  bun        (core)
  bundler    https://github.com/jonathanmorley/asdf-bundler.git#a461ac4
  deno       (core)
  go         (core)
  java       (core)
  node       (core)
  python     (core)
  ruby       (core)
  swiftgen   https://github.com/younke/asdf-swiftgen.git#072ce84
  swiftlint  https://github.com/klundberg/asdf-swiftlint.git#79f2c6e
  tuist      https://github.com/asdf-community/asdf-tuist.git#6bfab6d
  xcodes     https://github.com/younke/asdf-xcodes.git#9f037bf

toolset: 
  [email protected]       
  [email protected]  
  [email protected]    
  [email protected]        
  [email protected]      
  [email protected]    

env_vars: 
  MISE_SHELL=zsh

settings: 
  activate_aggressive = true
  all_compile = false
  always_keep_download = false
  always_keep_install = false
  asdf_compat = false
  cargo_binstall = true
  color = true
  disable_default_shorthands = false
  disable_tools = []
  experimental = false
  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 = false
  jobs = 4
  legacy_version_file = true
  legacy_version_file_disable_tools = []
  node_compile = false
  not_found_auto_install = true
  paranoid = false
  plugin_autoupdate_last_check_duration = "7d"
  python_compile = false
  python_default_packages_file = "/Users/ernest0n/.default-python-packages"
  python_pyenv_repo = "https://github.com/pyenv/pyenv.git"
  raw = false
  trusted_config_paths = []
  quiet = false
  verbose = false
  yes = true
  ci = false
  debug = false
  trace = false
  log_level = "info"
  python_venv_auto_create = false

  [status]
  missing_tools = "if_other_versions_installed"
  show_env = false
  show_tools = false

Additional context

The reason why I need to use computed env variables: I want to install ruby by explicitly passing the path to openssl installed via brew.

To do this I need to set the value of the RUBY_CONFIGURE_OPTS variable (using ruby-build) in the value of which I need to insert the result of the command brew --prefix openssl@3

Ernest0-Production avatar Mar 24 '24 13:03 Ernest0-Production