在 Linux 上配置 Rust 开发环境可以极大地提高编程效率和体验。以下是一些实用的技巧和步骤,帮助你轻松完成配置。
使用 Rustup 安装:
curl --proto 'https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
验证安装:
rustc --version
cargo --version
打开 Shell 配置文件:
~/.bashrc 或 ~/.zshrc 文件(取决于你使用的 Shell),并在文件末尾添加以下内容:export PATH="$HOME/.cargo/bin:$PATH"
应用更改:
source ~/.bashrc
或者,如果你使用的是 Zsh:source ~/.zshrc
为了获得更好的 Rust 开发体验,你可以配置一个代码编辑器。大多数编辑器都支持 Rust 语言,并提供代码补全、语法高亮、代码导航等功能。以下以 Visual Studio Code 为例:
创建一个新的 Rust 项目:
cargo new my_project
进入项目目录:
cd my_project
编写并运行第一个 Rust 程序:
src/main.rs 文件,并添加以下代码:fn main() {
println!("Hello, World!");
}
cargo run
Hello, World!
选择网络库:
std::net、tokio、async-std 等。对于异步编程,tokio 和 async-std 是常用的选择。配置文件:
环境变量:
use std::env;
use std::net::{TcpStream, TcpListener};
use std::io::{Read, Write};
fn main() {
// 从环境变量中读取服务器地址和端口
let server_address = env::var("SERVER_ADDRESS").unwrap_or_else(|_| "127.0.0.1".to_string());
let server_port = env::var("SERVER_PORT").unwrap_or_else(|_| "8080".to_string());
// 构建完整的服务器地址
let server_addr = format!("{}:{}", server_address, server_port);
// 创建TCP监听器
let listener = TcpListener::bind(server_addr).expect("Failed to bind address");
println!("Server listening on {}", server_addr);
for stream in listener.incoming() {
match stream {
Ok(mut stream) => {
println!("New connection: {}", stream.peer_addr().unwrap());
// 处理连接
handle_connection(&mut stream);
}
Err(err) => {
println!("Error: {}", err);
}
}
}
}
fn handle_connection(stream: &mut TcpStream) {
let mut buffer = [0; 1024];
// 读取数据
match stream.read(&mut buffer) {
Ok(size) => {
if size == 0 {
println!("Connection closed by client");
return;
}
// 打印接收到的数据
println!("Received data: {}", String::from_utf8_lossy(&buffer[..size]));
// 发送响应
let response = "Hello, client!";
stream.write_all(response.as_bytes()).expect("Failed to send response");
}
Err(err) => {
println!("Error reading from stream: {}", err);
}
}
}
配置环境变量:
export SERVER_ADDRESS=192.168.1.100
export SERVER_PORT=8080
cargo run
通过以上步骤,你应该能够在 Linux 上成功安装和配置 Rust 开发环境。如果有任何问题,请参考 Rust 官方文档。