一、前置条件:先把 Rust 环境装好
Rocket 是一个 Rust Web 框架,所以第一步当然是:安装 Rust 工具链。
官方推荐使用 rustup 管理 Rust 版本,它的优势是:
- 支持 stable / beta / nightly 多通道切换
- 可以按项目目录覆盖版本(对 Rocket 很实用)
- 升级、卸载都很简单
如果你还没装 Rust,可以简单理解流程:
-
打开 rustup 官网,按提示执行安装命令;
-
安装完成后,在终端里执行:
bashrustc --version cargo --version如果两个命令都能正常输出版本号,说明环境 OK。
如果你完全没接触过 Rust,建议先稍微看几眼《The Rust Programming Language》(俗称 Rust Book),再用 Rocket 会更顺畅。
二、最快体验 Rocket:直接跑官方例子
Rocket 提供了一套非常完善的 examples 示例工程 ,几乎覆盖了常见场景:
比如 Hello World、JSON API、文件服务、表单、WebSocket 等。
最简单的上手方式是:把整个 Rocket 仓库拉下来,然后进 examples 跑 demo。
2.1 克隆 Rocket 仓库
在终端执行:
bash
git clone https://github.com/rwf2/Rocket
cd Rocket
接着切到 0.5 版本的 tag(保证文档与代码一致):
bash
git checkout v0.5
为什么建议切到 v0.5 ?
因为你现在看的文档、升级指南都是基于 0.5 的,如果直接在
master上,可能会遇到还没稳定的新改动,和文档不匹配。
2.2 运行 hello 示例
Rocket 的示例都放在 examples/ 目录下,先从最经典的 hello 开始:
bash
cd examples/hello
cargo run
如果一切顺利,你会看到类似输出(省略部分):
text
🚀 Rocket has launched from http://127.0.0.1:8000
这时候浏览器打开 http://127.0.0.1:8000,就能看到第一个 Rocket Web 服务的响应了。
小技巧:
所有 examples 目录下的示例,都可以通过
cargo run启动:
examples/jsonexamples/formsexamples/chat(实时聊天)examples/websocket(如果有的话,取决于你当前 tag)
可以按需一个个玩过去,感受一下 Rocket 0.5 的能力边界。
2.3 为什么官方推荐"先跑 examples"
原因很简单:门槛最低、反馈最快:
- 不用自己写
Cargo.toml、不需要纠结依赖版本; - 不需要一开始就理解 Rocket 的所有概念;
- 先跑起来,再逐步从 "能跑" → "能改" → "能写自己的"。
而且 examples 里的 Cargo.toml 已经帮你配置好了:
- 依赖指向本地
rocket源码(path dependency); - 已经包含了对应示例需要的 feature(比如 json、templates 等)。
接下来要做的,就是把这些示例变成你自己的项目。
三、从官方示例"复制"出自己的 Rocket 项目
当你对某个示例比较满意时,通常有两种做法:
- 在 Rocket 仓库里直接改(不推荐,难以与官方更新解耦)
- 把示例代码 copy 到你自己的项目目录,然后调整
Cargo.toml(推荐)
3.1 新建一个自己的项目目录
比如你想写一个自己的 Rocket 服务叫 my-rocket-app:
bash
cargo new my-rocket-app --bin
cd my-rocket-app
这会生成一个标准的 Rust 二进制项目结构:
text
my-rocket-app
├── Cargo.toml
└── src
└── main.rs
3.2 修改 Cargo.toml:依赖 Rocket 0.5
将 Cargo.toml 改成类似这样(根据需求添加 features):
toml
[package]
name = "my-rocket-app"
version = "0.1.0"
edition = "2021"
[dependencies]
rocket = { version = "0.5.1", features = ["json", "secrets"] }
# 如果你需要模板:
# rocket_dyn_templates = { version = "0.2.0", features = ["tera"] }
# 如果你需要数据库池:
# rocket_sync_db_pools = "0.1.0"
注意两点:
- 这里的
rocket不再是指向本地源码,而是正常从 crates.io 拉取; - 你需要手动补上之前示例中依赖的功能(比如
json/secrets/ 模板等)。
3.3 复制示例代码到自己的 main.rs
比如你喜欢 examples/hello/src/main.rs 中的写法,就可以直接 copy 内容到自己的 src/main.rs,然后稍作修改,变成你自己的版本。
一个最迷你的 Rocket 0.5 main.rs 大致像这样:
rust
#[macro_use] extern crate rocket;
#[get("/")]
fn index() -> &'static str {
"Hello, Rocket 0.5!"
}
#[launch]
fn rocket() -> _ {
rocket::build()
.mount("/", routes![index])
}
然后在你自己的项目目录下执行:
bash
cargo run
如果能正常启动、返回了你期望的内容,说明你已经从"跑官方 demo"成功迈进到"有自己项目"这一步。
四、常见疑问:示例的 Cargo.toml 和我自己的有什么区别?
看 examples 目录时你可能会发现:
示例里的 Cargo.toml 不是直接写 rocket = "0.5.1",而是用本地路径依赖,比如:
toml
[dependencies]
rocket = { path = "../../core/lib", features = ["json"] }
这是因为:
- examples 需要在 Rocket 仓库内部直接编译、调试;
- 官方开发者会在本地反复修改 Rocket 源码并及时验证示例是否还能跑通;
- 为了保证一致性,示例直接依赖仓库内的源码,而不是 crates.io 上的版本。
而你建自己的项目时,不应该继续用 path 依赖,而是像正常 Rust 项目一样指定版本号,这样:
- 构建、部署过程更标准;
- 不用带着整个 Rocket 仓库一起走;
- 升级 Rocket 时只需要改
Cargo.toml即可。
五、总结:Quickstart 的"推荐路线图"
可以把 Rocket 0.5 的快速上手路线总结成 4 步:
-
装 Rust 工具链(rustup)
-
克隆 Rocket 仓库并切到 v0.5
bashgit clone https://github.com/rwf2/Rocket cd Rocket git checkout v0.5 -
进 examples 跑 demo
bashcd examples/hello cargo run -
新建自己的项目,用示例代码做模板
cargo new my-rocket-app --bin- 调整
Cargo.toml依赖rocket = { version = "0.5.1", features = [...] } - 把示例里你喜欢的 main / routes 复制过来改一改
做到这里,你已经完成了 Rocket 的"冷启动":
从零 → 跑 demo → 拥有自己的项目。