我想在包含正确目录结构并包含我的 snapcraft.yaml 的特定文件夹中运行“snapcraft”命令。
但是,当尝试使用 Command::new 从 rust 中运行 snapcraft 时
fn run_snapcraft() -> Result<std::process::Output, std::io::Error> {
let output = Command::new("snapcraft")
.arg("build")
.output();
output
}
我收到以下错误:
ttyname 对设备不合适的 ioctl 失败
我也试过生成这个过程,但无济于事:
fn run_snapcraft() -> Result<std::process::Child, std::io::Error> {
let output = Command::new("snapcraft")
.stdout(Stdio::piped())
.stdin(Stdio::piped())
.spawn();
output
}
snapcraft 命令不需要任何用户交互。我只想在返回函数之前获取命令状态的标准输出管道流。