货物中是否有可能停用文件锁定?

5
我想要并排运行以下命令。
cargo watch "check"

cargo watch "build"

我想在后台运行并使用查看错误信息。

问题是总是在之后运行,然后还需要等待文件锁定。
cargo check
    Blocking waiting for file lock on build directory

我认为在cargo check中不需要文件锁。是否可能在cargo中禁用文件锁定?


你为什么不能直接运行 cargo watch build 并从中获取错误信息呢? - Aurora0001
如果你保存的速度比构建快,那么你必须等待构建完成。 - Maik Klein
1个回答

6

我认为cargo check不需要文件锁。

我能想到一个原因:构建脚本。构建脚本可以生成包含在crate中的文件,如果不生成这些文件就检查crate,可能会产生错误。并行运行两个构建脚本实例不是一个好主意(冲突的文件写入等),所以需要锁定。


我想要同时运行以下命令

你有两个选项:

  1. Sequential: install cargo-do and run

    cargo watch "do check, build"
    
这将首先运行 cargo check,然后运行 cargo build(如果 cargo check 没有发现错误)。
  1. Parallel: change the target-dir for one of the two cargo commands:

    CARGO_TARGET_DIR=/tmp cargo watch check
    

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接