我在 RustRover 中遇到了一些问题。我想建立这样的项目结构:
/ My project (aka the main folder in the IDE)
- .gitignore
/ cli
- cargo.toml
- ..etc
/ lib
- cargo.toml
- ..etc
对于构建或运行项目来说,这工作得很好。但是,为了更新板条箱等,Jetbrains 使用此按钮:
这将导致同步面板中出现以下错误:
Execution failed (exit code 101).
/Users/pascaldachard/.cargo/bin/cargo metadata --verbose --format-version 1 --all-features --filter-platform aarch64-apple-darwin
stdout : error: could not find `Cargo.toml` in `/Users/pascaldachard/Desktop/proj/repo/rust/common/pascal_cli` or any parent directory
stderr :
我找不到可以进一步编辑货物配置的地方。 我正确设置了运行/调试配置。有人知道如何解决这个问题吗?我很乐意有一个更好的解决方案来构建我的项目,但我之前尝试过嵌套结构,这也给 rustrover 带来了类似的问题。
如果项目可以共享
Cargo.lock
,您可以创建 Cargo 工作区并将这些文件夹添加到工作区。 https://doc.rust-lang.org/book/ch14-03-cargo-workspaces.html
也就是说,我认为如果您在单独的选项卡中打开每个模块/子项目,JetBrains IDE 会工作得很好。内存消耗与选项卡不是线性的。
我认为当你达到一定的项目规模阈值时,多模块项目永远不是一个好主意。