工作区中未解决的板条箱到板条箱参考

问题描述 投票:0回答:1

我的工作区有两个板条箱,我希望一个使用另一个。大致:

├── Cargo.toml:
│     [workspace]
│     members = [ "alpha", "beta", ]
├── alpha/
│   ├── Cargo.toml:
│   │     [package]
│   │     name = "alpha"
│   │     edition = "2021"
│   │     ...
│   └── ...
└── beta/
    ├── Cargo.toml:
    │     [package]
    │     name = "beta"
    │     edition = "2021"
    │     [dependencies]
    │     alpha = { path = "../alpha" }
    │     ...
    └── ...

但是,当我在

use alpha::something
中的代码中写入
beta
时,出现错误
use of undeclared crate or module alpha
。奇怪的是,VSCode 似乎了解发生了什么,看到 alpha 中的代码,并基于它提供自动完成功能。然而,锈迹分析仪对此并不满意。

我已经检查了版本匹配,双重检查了路径,多次清理了构建,并验证了

alpha
中没有其他
beta
模块。我完全困惑了。

有关如何解决此问题的任何提示?

rust rust-cargo
1个回答
0
投票

这意味着包

alpha
不提供可供编译器编译
beta
所依赖的库包。造成这种情况的常见原因是:

  • 没有
    alpha/src/lib.rs
    文件。
  • alpha/Cargo.toml
    为不包含
    crate-type
    (或
    "lib"
    "rlib"
    )的库声明
    "dylib"

如果这些都不能解决问题,请更新您的问题以包含

alpha/Cargo.toml
的完整内容。

© www.soinside.com 2019 - 2024. All rights reserved.