Rust 二进制自更新

  1. 添加依赖

    1
    2
    [dependencies]
    self_update = "0.23.0"
  2. 配置

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    use self_update::cargo_crate_version;
    use self_update::backends::github::Update;

    fn main() -> Result<(), Box<dyn std::error::Error>> {
    let status = Update::configure()
    .repo_owner("owner")
    .repo_name("repo_name")
    .bin_name("bin_name")
    .show_download_progress(true)
    .current_version(cargo_crate_version!())
    .build()?
    .update()?;
    println!("Update status: `{}`!", status.version());
    Ok(())
    }