为何cargo watch会因写入.subdir/foo.txt文件频繁重启?
问题原因
cargo watch默认会监控当前项目目录下的所有文件变更,只要检测到文件被创建、修改或删除,就会自动触发cargo run重启应用。你代码里的std::fs::write(".subdir/foo.txt", b"Lorem ipsum")?;会修改项目目录内.subdir下的文件,这个变更被cargo watch捕捉到,所以每次运行都会触发重启。
解决办法
- 将输出文件放到项目目录以外的路径,比如修改为
std::fs::write("/tmp/foo.txt", b"Lorem ipsum")?;,这样cargo watch不会监控到外部路径的文件变化 - 在启动
cargo watch时排除.subdir目录,执行命令:cargo watch --ignore .subdir -x run,这样工具就不会监控该目录下的文件变更
内容的提问来源于stack exchange,提问作者Vana
相关产品推荐
相关产品推荐

