在处理具有 ARM 目标的项目时,RLS 给出以下错误消息:
E0463:找不到
找不到板条箱test
复制:
cargo new --bin app
cd app
mkdir .cargo
echo '[build]' > .cargo/config
echo 'target = "thumbv7m-none-eabi"' >> .cargo/config
echo '#![no_std]' > src/main.rs
rls --cli
我相信这是因为没有针对 ARM 目标的测试箱。
有办法避免这个错误吗?
E0463 上还有其他几个 SO 帖子,但似乎这些都是配置错误。以上纯粹是RLS问题。这导致我的编辑器显示错误并且代码不完整等。
如果您包括:
{
"rust-analyzer.cargo.target": "<your target architecture>",
"rust-analyzer.check.allTargets": false,
}
并且您仍然在 vscode 上遇到“找不到 crate for 'test'”错误,请查看您是否安装了由 panicbit 提供的 Cargo 扩展 (https://marketplace.visualstudio.com/items?itemName=panicbit.cargo )。它还在保存时使用货物检查,而不考虑目标架构。
在 github 问题中找到了这个:
在文件中
.vscode/settings.json
:
{
"rust-analyzer.check.allTargets": false,
"rust-analyzer.check.extraArgs": [
"--target",
"<your target architecture>"
]
}
将
<your target architecture>
替换为正确的目标。
对于 Helix 来说是
# .helix/languages.toml
[[language]]
name = "rust"
[language-server.rust-analyzer.config.check]
allTargets = false