当我向 Cargo.toml 文件添加依赖项时,阻塞等待包缓存上的文件锁定

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

我向 Rust 项目添加了依赖项,然后运行了 Cargo Run,这给了我这个错误:

“阻塞等待包缓存上的文件锁定”

我尝试了在网上找到的解决方案,即删除 ~/.cargo/.package-cache 文件,但这对我来说不起作用。当我输入类似“cargo run”和“cargo update”的命令时,我只会收到相同的消息。 现在,即使当我转到另一个没有依赖项的 Rust 项目并尝试运行它时,我也会收到相同的“阻止等待包缓存上的文件锁定”消息。 我使用的是 M1 MacBook Pro。

rust dependencies rust-cargo
2个回答
31
投票

我也遇到了同样的问题。我使用的是 Linux,解决方法如下:

  1. 关闭 VS Code,以便

    rust-analyzer
    扩展程序将无法重新启动
    cargo
    rust-analyzer
    rustc

  2. 使用资源监控工具(我使用btop)并搜索

    rust
    。杀死
    cargo
    rust-analyzer
    rustc
    。单击该进程,然后按
    k
    然后按
    enter
    将其杀死。

  3. 再次尝试使用

    cargo r
    ,它应该可以正常工作,而不显示
    "Blocking waiting for file lock on package cache"

我仍然不知道如何阻止 VS Code 自动开始下载包。如果您可以阻止 VS Code 自动下载,而是在调用

cargo r
时手动下载包,则可以通过按
ctrl+c
来停止该过程,从而在当时的互联网连接速度较慢时停止下载。


0
投票

我的错误解决方案:

cd ~/.cargo
rm .package-cache

在这些之后货物运行工作正常

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