最近我注意到,我对项目所做的每一个更改,cargo build
都会重新编译一大块依赖项。我使用verbose选项运行构建,我看到这是由x11-dl
导致的,它使用了pkg-config
。
Dirty x11-dl v2.21.0: the env variable PKG_CONFIG_PATH changed
Compiling x11-dl v2.21.0
个字符
我尝试过的:
- 我保存了一个文件在项目中没有任何变化,它似乎给给予相同的“肮脏”警告与相同的指纹计算。
- 我检查了我的
PKG_CONFIG_PATH
在终端和build.rs
文件,他们是相同的。 - 我关闭了
vscode
并完全从终端运行。这 * 确实 * 似乎停止了重新编译。我猜这意味着要么vscode
(rust-analyser
)正在修改PKG_CONFIG_PATH
,要么它在启动时没有阅读值(即清除它)。
那么,变化检测是如何工作的呢?到目前为止,我已经追踪到这里,但还没有运气来理解发生了什么。
Rust 1.73.0
rustc 1.73.0 (cc66ad468 2023-10-03)
型
1条答案
按热度按时间yc0p9oo01#
我也遇到过类似的问题,大量依赖被不必要地重新编译。对我来说,当我在vscode中禁用rust-analyzer时,它被修复了,但这并不理想。
对我来说,一个更好的解决方案是从命令菜单中运行任务
rust: cargo run
(与单击主fn上方的运行按钮相同)。您也可以为此创建一个快捷方式:
字符串