使用 cargo doc --open 构建并浏览本地 Rust 依赖文档
背景
在 Rust 开发中,查阅依赖库的文档是高频需求。默认我们会访问 docs.rs 来查看在线文档,但这需要网络连接,且文档版本可能与本地 Cargo.lock 中锁定的版本不一致。
cargo doc 命令可以根据你本地的依赖版本构建文档,完美解决版本匹配问题,离线也能查阅。
基本用法
在项目根目录下执行:
1 | cargo doc --open |
这条命令做了两件事:
- 构建文档:为当前项目及其所有依赖生成 HTML 文档,输出到
target/doc/目录。 - 自动打开浏览器:构建完成后在默认浏览器中打开文档首页。
提示:如果只想构建文档而不打开浏览器,去掉 --open 参数即可:
1 | cargo doc |
常用参数
只构建当前包的文档
默认会构建所有依赖的文档,耗时较长。如果只需要当前包的文档:
1 | cargo doc --no-deps --open |
构建特定包的文档
1 | cargo doc -p <包名> --open |
包含私有项
默认只生成公开 API 的文档。如需包含私有项(通常用于内部查阅):
1 | cargo doc --document-private-items --open |
远程主机上的使用
在远程开发机或服务器上,--open 参数无法直接打开本地浏览器。此时可以手动启动一个 HTTP 服务来浏览文档。
文档构建完成后,输出目录位于 target/doc/:
1 | # 进入文档目录 |
然后在本地浏览器访问 http://<远程主机IP>:8081 即可浏览。
完整操作流程示例:
1 | # 1. 进入项目目录 |
本地浏览器访问 http://<服务器地址>:8081 即可看到文档首页,搜索和导航完全可用。
注意:如果服务器有防火墙,需要放行对应端口(如 8081):
1 | # 如果使用 ufw |
不需要 HTTP 服务的替代方案
对于 VS Code 用户,如果通过 Remote-SSH 连接远程主机,可以使用 Live Preview 等扩展直接在远程主机上打开 HTML 文件预览。
或者直接将 target/doc/ 目录下载到本地,用本地浏览器打开 index.html:
1 | scp -r user@host:/path/to/project/target/doc /tmp/rust-doc |
小结
cargo doc构建的是与你Cargo.lock版本完全一致的文档,不会出现本地 API 与在线文档不匹配的问题。- 本地开发直接用
cargo doc --open,一步到位。 - 远程开发机构建后用
python3 -m http.server临时共享,简单高效。 - 善用
--no-deps加快构建速度,只在你需要查看依赖文档时再全量构建。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 iehtian!
