如何从我的 Rust 代码正确运行 snapcraft 命令?

问题描述 投票:0回答:0

我想在包含正确目录结构并包含我的 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 命令不需要任何用户交互。我只想在返回函数之前获取命令状态的标准输出管道流。

linux rust command
© www.soinside.com 2019 - 2024. All rights reserved.