错误:未扩展proc宏`main`:无法创建扩展器

13
我想使用 RustActix-Web 运行一个 Web 服务器。按照他们文档中的 这些步骤 后,一切都按预期工作:服务器在端口 8080 上运行。
我遇到的问题是 VSCode 显示错误。

Screenshot from VSCode with errors

这个错误消息会在IDE中悬停错误时显示在工具提示中。

无法创建 /Users/name/Documents/projects/project-rust/target/debug/deps/libactix_web_codegen-b262af45f63000f3.dylib 的扩展程序:proc宏 main未展开:Io(Custom { kind: InvalidData, error: DlOpen { desc: "dlopen(/Users/name/Documents/projects/project-rust/target/debug/deps/libactix_web_codegen-b262af45f63000f3.dylib, 0x000A): tried: '/Users/name/Documents/projects/project-rust/target/debug/deps/libactix_web_codegen-b262af45f63000f3.dylib' (mach-o file, but is an incompatible architecture (have 'arm64', need 'x86_64')), '/usr/local/lib/libactix_web_codegen-b262af45f63000f3.dylib' (no such file), '/usr/lib/libactix_web_codegen-b262af45f63000f3.dylib' (no such file)" } })

环境 - macOS Monterey 12.1(M1)


2
请参考 rust-analyzer 问题。根据错误信息,可能是因为您正在运行 x86 的 VSCode,但您的代码正在编译为 arm64。 - smitop
我知道这很烦人,但也许有时候当代码库编译无误时,忽略VSCode报告的错误是可以接受的。顺便说一下,我也看了答案,它解决了我的问题。 - behkod
打开VSCode命令面板,选择“开发者:重新加载窗口”,这对我解决了问题。 - undefined
2个回答

9

VS Code


感谢 @Smitop 提供的提示

我使用通用版本重新安装了 VSCode,错误已经解决

enter image description here

P.S. 我尝试安装适用于Apple Silicon的版本,但并没有帮助

NVIM (macOS, arm64, m1)


对于在NeoVim中遇到相同问题的用户,以下步骤有助于解决错误。

  1. 打开终端
  2. 执行 rustup toolchain list

将会输出

stable-aarch64-apple-darwin (default)
stable-x86_64-apple-darwin 
  1. 通过使用命令rustup default stable-x86_64-apple-darwin,将stable-x86_64-apple-darwin复制并设为默认版本。
  2. 重新打开NeoVim。
  3. 错误应该会消失。

1
安装 Apple Silicon 或 Universal 对我来说没有起作用。 - Ander
除了重新安装VS Code的通用版本,我还需要清理项目中的target/文件夹。 - pjay_

5

对我来说,重新安装VS Code是不必要的

  • 进入VSCode中的插件设置,卸载Rust-Analyzer插件
  • 重启VS Code
  • 重新安装Rust-Analyser

对我来说,重启是必要的,否则重新安装将失败。


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