fix: Ensure dependencies are available for alternative backends #2532
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
When installing a tool via one of the experimental backends (
npm
,pipx
, etc), the install would fail if the backend was managed bymise
itself.When setting up the paths for the installation command (
npm install tldr
) to run,mise
wasn't making the backends specified inget_dependencies
available to the subshell. So, they'd fail with a cryptic error:This was because
npm
wasn't in the path, despite it being installed.I restructured some existing code to make creating a Toolset for a backend's dependents simple, then prepended those paths to the resulting command. I've confirmed locally that installations commands that fail without the
I also added a line to an e2e test, but I wasn't able to get those running locally in docker, so it's worth double checking that works as intended before merge.
fixes #2174
fixes #2315
fixes #2457
fixes #2458