You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Cargo构建/运行含独立Crate的Rust示例项目?

可行方案说明

完全可以通过Cargo原生功能实现需求,无需依赖shell脚本,以下是两种推荐方案:

方案一:利用Cargo示例配置项统一管理

这种方式能让单文件示例(如test1.rs)和完整crate示例(如test2)使用相同的cargo run/build --example命令,契合Cargo的示例使用习惯。

操作步骤:

  1. 单文件示例test1.rs:Cargo会自动识别examples/下的单文件rs作为示例,直接执行命令即可:

    # 运行test1
    cargo run --example test1
    # 构建test1
    cargo build --example test1
    
  2. 完整crate结构的test2:在项目根目录的Cargo.toml中添加如下配置:

    [[example]]
    name = "test2"
    # 指向test2的入口文件
    path = "examples/test2/src/main.rs"
    

    添加后,即可用统一命令操作test2:

    # 运行test2
    cargo run --example test2
    # 构建test2
    cargo build --example test2
    

    注:如果test2有自定义依赖,可直接在test2目录下的Cargo.toml中配置,Cargo会自动读取该文件的依赖信息。

方案二:将示例crate加入项目工作区

如果test2需要独立管理依赖、版本或构建配置,推荐将其作为工作区成员,可直接通过crate名称操作它。

操作步骤:

  1. 修改项目根目录的Cargo.toml,在[workspace]段中添加test2的路径:
    [workspace]
    members = [
        # 原有工作区成员(如主crate)
        ".",
        # 添加test2作为工作区成员
        "examples/test2"
    ]
    
  2. 确保test2目录下的Cargo.toml已正确设置crate名称(如name = "test2"),之后执行:
    # 运行test2
    cargo run -p test2
    # 构建test2
    cargo build -p test2
    

注意事项

  • 两种方案按需选择:追求命令统一选方案一,需要独立配置选方案二。
  • 若之前尝试工作区方式未生效,检查根Cargo.toml的members路径是否正确,以及test2的Cargo.toml是否存在语法错误。

内容的提问来源于stack exchange,提问作者rsergeant

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 04:28:30