2个不稳定版本

0.2.0 2021年11月16日
0.1.0 2020年8月4日

#381 in 操作系统

MIT/Apache

20KB
538 代码行

brew-rs

Homebrew命令行应用程序的Rust接口。

主要优势是实现了brew命令的brew --json输出的类型安全实现。这以Package结构体以及派生结构体的形式出现。

使用

有三个入口点,它们都依赖于已安装的brew命令行。

update()?; // Updates homebrew and all formulea from github, by calling brew update
let jq = Package::new("jq")?; // equivalent to brew info
// not all packages have descriptions
assert_eq!(jq.desc.unwrap(), "Lightweight and flexible command-line JSON processor");
if !jq.is_installed() {
    jq.install(Options::new().head().force().env_std())?; // brew install --HEAD --force --env=std
}

访问包的其他主要方式是

let installed_package = all_installed()?; // brew info --installed
let all_packages = all_packages()?        // brew info --all

依赖关系

~0.6–1.4MB
~32K SLoC