我想使用process::Command运行clippy,但好像无法正常工作。
我在这个上运行了cargo build:
use std::env;
use std::process::Command;
use std::io;
use std::io::Write;
fn main() {
let pwd = env::current_dir();
match pwd {
Ok(data) => {
println!("{}", &data.display());
let output = Command::new("cargo")
.arg("clippy")
.output()
.expect("there was an error");
io::stdout().write_all(&output.stdout).unwrap();
},
Err(_) => (),
}
}
我在另一个Rust项目的根目录下执行了二进制文件,但似乎没有任何输出。我尝试使用 ls
代替 cargo clippy
运行,它可以正确列出该目录中的所有文件。有什么想法吗?
cargo clippy
只在标准错误流(stderr)中输出错误和警告,而不是标准输出流(stdout)。 - mcarton