在 Debian 上排查 Rust 报错,可以按下面几个层次来做:
Rust 报错通常分几类:
编译错误(compile error)
cargo build / cargo run 时输出error[E0382]: borrow of moved value运行时错误(runtime panic)
thread 'main' panicked at ...依赖/环境问题
cargo build 2>&1 | less
重点看:
error[EXXXX](Rust 官方错误码)warning:(有时隐藏关键问题)--> 后面的文件和行号例如:
error[E0596]: cannot borrow `x` as mutable
--> src/main.rs:4:5
➡ 去查:https://doc.rust-lang.org/error_codes.html
cargo build -v
cargo build 2>&1 | grep error
RUST_BACKTRACE=1 cargo run
或:
RUST_BACKTRACE=full cargo run
例如用到 openssl:
sudo apt install pkg-config libssl-dev
常见库对照:
| crate | Debian 包 |
|---|---|
| openssl | libssl-dev |
| sqlite | libsqlite3-dev |
| zlib | zlib1g-dev |
| alsa | libasound2-dev |
rustc --version
cargo --version
建议用官方方式安装(不是 apt):
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
如果你愿意,可以把完整报错贴出来,包括:
cargo 命令Cargo.tomlcat /etc/os-release)我可以直接帮你定位。
如果你愿意,现在就可以把报错贴上来。