jdx / mise

dev tools, env vars, task runner
https://mise.jdx.dev
MIT License
8.07k stars 211 forks source link

All backends should include their dependencies on PATH #2260

Open bhollis opened 4 weeks ago

bhollis commented 4 weeks ago

The Go backend includes dependency_env, which means that it should include any version of Go that's managed by mise on PATH when it runs commands: https://github.com/jdx/mise/blob/main/src/backend/go.rs#L77

Other backends don't do this. e.g. npm: https://github.com/jdx/mise/blob/main/src/backend/npm.rs#L71-L72. This means that the npm backend can't install unless npm is already on PATH.

All of the backends already declare dependencies (e.g. https://github.com/jdx/mise/blob/main/src/backend/pipx.rs#L33-L35) in order to install them before running the backend, so it makes sense that they should all make use of them while running the backend.

jdx commented 3 weeks ago

mise does do this, but experimental backends are still a work in progress so there are gaps