#unix-command #cross-platform #command #unix #which-rs

which

Rust 的 Unix 命令 "which" 的等价物。在跨平台上定位已安装的可执行文件。

26 个稳定版本 (6 个主要版本)

6.0.3 2024年8月17日
6.0.2 2024年7月30日
6.0.1 2024年3月22日
5.0.0 2023年10月18日
0.1.0 2015年10月6日

#3操作系统

Download history 1108660/week @ 2024-05-02 1063627/week @ 2024-05-09 1123309/week @ 2024-05-16 1082136/week @ 2024-05-23 1196772/week @ 2024-05-30 1135987/week @ 2024-06-06 1152719/week @ 2024-06-13 1094512/week @ 2024-06-20 1146823/week @ 2024-06-27 1013940/week @ 2024-07-04 1179257/week @ 2024-07-11 1191480/week @ 2024-07-18 1228101/week @ 2024-07-25 1236895/week @ 2024-08-01 1338501/week @ 2024-08-08 1293239/week @ 2024-08-15

5,325,484 每月下载量
3,145 个crate中使用 (602 个直接使用)

MIT 许可证

40KB
755

Build Status

which

Rust 的 Unix 命令 "which" 的等价物。在跨平台上定位已安装的可执行文件。

支持平台

  • Linux
  • Windows
  • macOS

示例

  1. 查找正在使用的 rustc 可执行文件二进制。

    use which::which;
    
    let result = which("rustc").unwrap();
    assert_eq!(result, PathBuf::from("/usr/bin/rustc"));
    
  1. 启用 regex 功能后,在路径上查找所有 cargo 子命令的可执行文件

    use which::which_re;
    
    which_re(Regex::new("^cargo-.*").unwrap()).unwrap()
        .for_each(|pth| println!("{}", pth.to_string_lossy()));
    

MSRV

该crate当前的MSRV为Rust 1.70。提高MSRV被视为破坏性变更,因此需要版本号重大更新。

我们无法保证我们依赖项的MSRV。您可能需要在您的 own Cargo.toml 中将我们的依赖项之一固定到较低版本,以便与最低支持的Rust版本编译。最终Cargo将自动处理此问题。有关更多信息,请参阅 rust-lang/cargo#9930

文档

文档可在 线 上获取。

依赖

~2–12MB
~139K SLoC