which
A Rust equivalent of Unix command "which". Locate installed executable in cross platforms.
Support platforms
- Linux
- Windows
- macOS
- wasm32-wasi*
A note on WebAssembly
This project aims to support WebAssembly with the wasi extension. This extension is a requirement. which is a library for exploring a filesystem, and
WebAssembly without wasi does not have a filesystem. which cannot do anything useful without this extension. Issues and PRs relating to
wasm32-unknown-unknown and wasm64-unknown-unknown will not be resolved or merged. All wasm32-wasi* targets are officially supported.
If you need to add a conditional dependency on which for this reason please refer to the relevant cargo documentation for platform specific dependencies.
Here's an example of how to conditionally add which. You should tweak this to your needs.
[]
= "7.0.0"
Examples
-
To find which rustc executable binary is using.
use which; let result = which.unwrap; assert_eq!;
-
After enabling the
regexfeature, find all cargo subcommand executables on the path:use which_re; which_re.unwrap .for_each;
MSRV
This crate currently has an MSRV of Rust 1.70. Increasing the MSRV is considered a breaking change and thus requires a major version bump.
We cannot make any guarantees about the MSRV of our dependencies. You may be required to pin one of our dependencies to a lower version in your own Cargo.toml in order to compile with the minimum supported Rust version. Eventually Cargo will handle this automatically. See rust-lang/cargo#9930 for more.
Documentation
The documentation is available online.