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

Rom*_*kyi 14 rust actix-web rust-analyzer

我想使用RustActix-Web运行一个 Web 服务器。按照文档中的这些步骤操作后,一切都按预期工作:服务器在端口 8080 上运行。

我遇到的问题是 VSCode 显示错误

VSCode 的屏幕截图,有错误

将错误悬停在 IDE 中时,工具提示中会显示此错误消息

proc 宏main未扩展:无法为 /Users/name/Documents/projects/project-rust/target/debug/deps/libactix_web_codegen-b262af45f63000f3.dylib 创建扩展器:Io(Custom { kind: InvalidData, error: DlOpen { desc: "dlopen (/Users/name/Documents/projects/project-rust/target/debug/deps/libactix_web_codegen-b262af45f63000f3.dylib,0x000A):尝试:'/Users/name/Documents/projects/project-rust/target/debug/deps /libactix_web_codegen-b262af45f63000f3.dylib'(mach-o 文件,但是不兼容的架构(有'arm64',需要'x86_64')),'/usr/local/lib/libactix_web_codegen-b262af45f63000f3.dylib'(没有这样的文件) , '/usr/lib/libactix_web_codegen-b262af45f63000f3.dylib' (没有这样的文件)" } })

环境 - macOS 蒙特利 12.1 (M1)

Rom*_*kyi 9

VS代码


谢谢@Smitop 的提示

我使用通用构建重新安装了 VSCode,错误消失了

在此输入图像描述

PS 我尝试安装 Apple Silicon 的版本,但没有帮助

NVIM(macOS、arm64、m1)


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

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

它应该打印

stable-aarch64-apple-darwin (default)
stable-x86_64-apple-darwin 
Run Code Online (Sandbox Code Playgroud)
  1. 复制stable-x86_64-apple-darwin并使其默认,使用rustup default stable-x86_64-apple-darwin
  2. 重新打开 NeoVim。
  3. 错误应该消失


小智 5

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

  • 进入 VSCode 中的插件设置,卸载 Rust-Analyzer 插件
  • 重新启动 VS 代码
  • 重新安装 Rust 分析器

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