cargo 构建失败,并显示“错误:无法构建存档:没有这样的文件或目录”

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

我在 Windows 11 上有一个有效的 Rust 设置,可以使用 PowerShell 命令行运行 hello world 程序:

PS C:\Users\Michael\Desktop\trying-cargo\%TEST> cargo new helloworld
    Creating binary (application) `helloworld` package
note: see more `Cargo.toml` keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
PS C:\Users\Michael\Desktop\trying-cargo\%TEST> cd .\helloworld\
PS C:\Users\Michael\Desktop\trying-cargo\%TEST\helloworld> cargo run
   Compiling helloworld v0.1.0 (C:\Users\Michael\Desktop\trying-cargo\%TEST\helloworld)
    Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.19s
     Running `target\debug\helloworld.exe`
Hello, world!

但是一旦我尝试添加依赖项,比如

cargo add regex
,然后再次
cargo run
,我就会收到错误

PS C:\Users\Michael\Desktop\trying-cargo\%TEST\helloworld> cargo run
   Compiling memchr v2.7.4
   ...
error: failed to build archive: no such file or directory

我已经尝试过使用 crates.io 的几个板条箱,它们都会导致相同的错误。此错误消息是什么意思以及如何修复它?

rust rust-cargo rust-crates
1个回答
0
投票

事实证明,问题出在文件路径中有一个名为 %TEST 的文件夹。删除

%
字符/符号并重试后,一切正常。

在研究这个问题时,我了解了货物的详细输出,在检查了

cargo -v -v run
的输出后,我猜
%
被解释为一种变量替换,因为这就是在批处理文件中完成的方式。不过,我无法找到任何有关这可能如何影响 PowerShell 的文档,并且仍然不知道这是调用 rustc 的脚本错误还是 rustc 本身的参数解析错误。

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