RustRover - 加载货物更改按钮不适用于子目录中的项目

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

我在 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 带来了类似的问题。

rust jetbrains-ide rust-cargo rustrover
1个回答
1
投票

如果项目可以共享

Cargo.lock
,您可以创建 Cargo 工作区并将这些文件夹添加到工作区。 https://doc.rust-lang.org/book/ch14-03-cargo-workspaces.html

也就是说,我认为如果您在单独的选项卡中打开每个模块/子项目,JetBrains IDE 会工作得很好。内存消耗与选项卡不是线性的。

我认为当你达到一定的项目规模阈值时,多模块项目永远不是一个好主意。

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