Run Rust script files without any setup or explicit compilation step, with seamless use of crates specified as dependencies inside the scripts.
$ cargo install rust-script
[...]
$ cat script.rs
#!/usr/bin/env rust-script
//! Dependencies can be specified in the script file itself as follows:
//!
//! ```cargo
//! [dependencies]
//! rand = "0.8.0"
//! ```
use rand::prelude::*;
fn main() {
let x: u64 = random();
println!("A random number: {}", x);
}
$ ./script.rs
A random number: 9240261453149857564
Rust version 1.74 or newer required.
See the documentation at rust-script.org.
- cargo-script - the unmaintained project that
rust-script
was forked from. - cargo-eval - maintained fork of
cargo-script
. - cargo-play - local Rust playground.
- runner - tool for running Rust snippets.
- scriptisto - language-agnostic "shebang interpreter" that enables you to write scripts in compiled languages.
- official cargo-script RFC - in progress integration into cargo
rust-script
is primarily distributed under the terms of both the MIT license and the Apache License (Version 2.0).