如何在 Rust 中构建多工作区货物项目

2024-01-02

我有多工作空间 Cargo 项目。它有两个工作区,common and server. common is a lib项目和服务器是bin项目。

该项目在Github中的位置是here. https://github.com/rajcspsg/multi_module_cargo_project

下面是项目结构。

.
├── Cargo.toml
├── common
│   ├── Cargo.toml
│   └── src
│       └── lib.rs
├── README.md
└── server
    ├── Cargo.toml
    └── src
        └── main.rs

4 directories, 6 files

./Cargo.toml 文件的文件内容是

[package]
name = "multi_module_cargo_project"
version = "0.1.0"
authors = ["rajkumar"]

[workspace]
members = ["common", "server"]

[dependencies]

当我运行命令时cargo build --all:

error: failed to parse manifest at `/home/rajkumar/Coding/Rust/ProgrammingRust/multi_module_cargo_project/Cargo.toml`

Caused by:
no targets specified in the manifest
either src/lib.rs, src/main.rs, a [lib] section, or [[bin]] section must be present

所以我在下面添加了Cargo.toml但仍然无法构建该项目。

[[bin]]
name = "server/src/main.rs"

我怎样才能构建该项目。我缺少什么?


你包括了一个[package]你的主要部分Cargo.toml文件。此部分表示除了工作区中的包之外,您还想要构建主包。但是,您没有主包的任何源文件,因此 Cargo 会抱怨。

解决方案是简单地省略[package]部分,并且只包括[workspace]。这配置了一个虚拟工作空间– 工作空间,仅是成员包的容器,但本身不构建包。

See the main Cargo.toml火箭文件 https://github.com/SergioBenitez/Rocket/blob/master/Cargo.toml虚拟工作空间的真实示例,以及Tokio https://github.com/tokio-rs/tokio/blob/master/Cargo.toml查看带有主包的工作区的真实示例。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Rust 中构建多工作区货物项目 的相关文章

随机推荐

  • 记录 CMake 模块的正确方法是什么?

    快速的 Google 搜索 实际上许多相当广泛的 Google 搜索 无法解释如何正确记录 CMake 模块 我正在寻找一种记录自定义 CMake 模块的方法 以便它们与cmake help module
  • Django Test 模拟 ImageField 阻止上传或测试后清理

    我正在为我的项目开发一个测试用例 涉及一些图像和文件字段 有些对象加载了固定装置 有些对象是在测试期间创建的 我用 InMemoryUploadedFile 模拟了我的图像 创建新的测试对象时 正在上传模拟图像 到 MEDIA ROOT 目
  • 如果你的基类有一个虚拟析构函数,你自己的析构函数自动是虚拟的

    我知道标题的说法是正确的 那么常规函数呢 例如 class Father virtual void foo class Son public Father void foo class GrandSon public Son void fo
  • 让 Karma、6to5ify 和 Istanbul 合作

    我有 Browserify 6to5ify 和 Karma 可以很好地发挥作用 成功运行我的规范 然而 当我添加代码覆盖率时 事情就变糟了 我尝试了几种方法 Add browserify istanbul转换为我的 karma conf j
  • 如果我想添加类型化属性,子类化 NSNotification 是正确的途径吗?

    我正在尝试子类化NSNotification Apple 的文档NSNotification陈述以下内容 NSNotification是一个没有实例变量的类簇 像这样 你必须子类化NSNotification并重写原始方法name obje
  • 无法选择 id=":1" 的 div

    对网络东西有点菜鸟 但我有一个带有此标签的 div div class 我已经测试过我的 jQuery 可以正常工作 当前使用版本 2 1 3 我已经测试了许多其他关于选择器中冒号的 SO 帖子中推荐的选择器 然后是其他一些 我已经分别尝试
  • ruby - 如何在 minitest 示例中使用标签

    I have require minitest spec require minitest autorun require minitest tags require rspec expectations describe One happ
  • 在一行中多次使用相同模式的正则表达式

    我正在寻找的模式是这样的 TXT txt 该模式可以在任何给定行中多次出现 我想要么提取模式的每个实例 要么使用 sed 或其他任何东西 删除每个实例周围的文本 Thanks 您可以将 Perl 用作 cat file foo TXT1 t
  • 如何在 Xcode 7 中使用对象库的堆栈视图

    我最近安装了Xcode 7 测试版并发现了一些东西new在对象库中 例如 水平堆栈视图和垂直堆栈视图 当我在其中放入一些控件时 stackview 似乎可以调整大小 根据控制尺寸 当我呈现更多控制堆栈时 似乎从堆栈视图开始自动调整 任何一个
  • 获取os.Error值的一种方法——字符串值(Go)

    如何获取字符串值os Error 也就是说 分配给一个变量 例如 package main import errors fmt func main err errors New an error message s err Error fm
  • Laravel: array_merge(): 参数 #2 不是数组错误

    异常开始出现在所有视图中 当我尝试运行时composer update 它总是以 error type ErrorException message array merge Argument 2 is not an array file l
  • ArrayList#size() 大于对象的实际数量

    我的 Android 应用程序中有一个 ArrayList 其中有 2 个项目 然而 它的 size 方法返回 3 我知道这听起来非常简单和愚蠢 但它是这样的 为什么会出现这种情况呢 ArrayList 的大小如何返回错误的数字 当我迭代列
  • 无需数据库即可存储数据?

    如果我想存储电子邮件 但没有数据库 例如 MySQL 我该怎么办 数据应该可以从 PHP 访问和写入 但常规 访问者 不得看到该数据 希望你能帮忙 您可以将它们放入文件中 data Defined somewhere file put co
  • 优先 Web SDK 与 REST API

    使用 Priority 的新工具开发网站时 在哪些情况下使用 Web SDK 访问 Priority 会比使用 REST API 更好 反之亦然又如何呢 这取决于您的需求 REST API 主要用于与其他应用程序集成 而 WEB SDK 用
  • 在 Mercurial 中指定点作为修订版

    我发现一些 Mercurial 命令的修订版被指定为点 例如 hg revert all r hg update C r hg pull r 这个点的含义是什么 它对应哪个版本 hg help revisions says 保留名称 指示工
  • 在 AngularJS 应用程序中预填充远程数据的最佳方法

    在我的 AngularJS 应用程序中 我需要从远程 REST 端点检索多个静态数据集合 这些数据集合将作为静态查找列表在整个应用程序生命周期中使用 我希望所有这些列表都在初始应用程序启动时填充 并保留并可供多个控制器使用 我不想动态加载任
  • 如何导出驻留在给定 Domino 服务器上的数据库列表?

    我有一台 Lotus Domino 服务器 上面有数量惊人的 Domino 数据库 排列在各个文件夹中 是否有某种方法可以以某种电子表格格式导出所有这些数据库及其标题和创建者姓名的列表 我拥有 Domino Admin 和 Domino D
  • 开发多个 Visual Studio 2010 扩展

    我正在单独的解决方案中开发几个独立的 Visual Studio 扩展 当我打开其中一个并在调试器中启动实验实例时 其他解决方案 未打开 的其他扩展也会被加载 必须有一种方法可以一次仅在实验实例中启动一个扩展 特别是您当前正在开发的扩展 对
  • Java中如何将字符串转换为函数?

    stackoverflow上有一个类似标题的问题here https stackoverflow com questions 41283897 how to convert string into math function just on
  • 如何在 Rust 中构建多工作区货物项目

    我有多工作空间 Cargo 项目 它有两个工作区 common and server common is a lib项目和服务器是bin项目 该项目在Github中的位置是here https github com rajcspsg mul