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

如何为多个小型Rust程序设置合适的项目目录结构

问题原因与解决方案

核心问题

你当前的目录结构不可行,不符合Cargo的源码扫描与模块查找规则,共用代码存放在了Cargo默认不会识别的位置。

具体修改步骤

步骤1:调整文件位置

将项目根目录的utils.rs移动到src/目录下,调整后的目录结构如下:

rust_stuff
├── Cargo.lock
├── Cargo.toml
└── src
    ├── bin
    │   ├── project1.rs
    │   ├── project2.rs
    │   └── ...more projects...
    └── utils.rs

步骤2:添加库根文件声明模块

在src/目录下新建lib.rs文件,写入如下内容,将utils模块注册到当前包的库命名空间中:

pub mod utils;

步骤3:在二进制文件中正确引用共用函数

打开Cargo.toml,查看[package]段下的name字段值(假设为rust_stuff,即你的项目名),在project1.rs等二进制文件中按如下格式引用:

// 替换成你实际的项目名即可正常调用
use rust_stuff::utils::func1;

之前操作失效的原因

  • utils.rs放在与src平级的项目根目录时,Cargo默认只会扫描src/下的源码,完全不会识别该位置的文件
  • 使用use crate::utils时,crate关键字指向的是当前project1.rs二进制的根,该二进制内没有声明utils模块,自然找不到
  • 直接写use utils::func1时,utils模块没有被注册到当前包的公共命名空间,无法直接访问

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 02:06:08