我对 (Mason) lsp 服务器 rust-analyzer 有问题

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

我是 Neovim 的新手。我已经安装了 neovim v0.9 并从 kickstart.nvim 复制了 lua 配置。我也按照 TJ 的 youtube 视频遵循了所有说明。一切都工作得很好。 Lsp 正在为 ts 和 lua 工作。但是 Lsp 可以识别 rust 文件(:LspInfo 显示它已经识别了 rust 文件)但是 rust 没有自动完成的东西。

我已经尝试了 mason repo 中提到的所有配置。我不知道为什么它不起作用。

neovim rust-analyzer
2个回答
0
投票

如果 LSP 被识别,但没有加载,这通常表示二进制文件由于某种原因无法执行。可能的原因包括:

  1. 二进制文件不在 PATH 中(具体指令将取决于操作系统)
  2. 二进制文件不可执行(不稳定的权限,或无效的二进制文件)
  3. 二进制文件由于某种原因中止(查看 :LspLog 了解详情)

0
投票

2 种方法可以解决这个问题。

  1. 从 rustup 中卸载

    rust-analyzer

     mv ~/.cargo/bin/rust-analyzer ~/.backup/rust-analyzer`
    

  1. 使用

    homebrew
    安装 rust-analyzer(或任何其他方法。确保包在 PATH 中的 ~/.cargo 之前)

     brew install rust-analyzer
     echo "export PATH=/opt/homebrew/bin:$PATH" >> ~/.bashrc
     exec $SHELL
    

然后将

rust_analyzer
添加到lspconfig.lua并在工作目录中做

cargo init
nvim main.rs

看到这个问题知道问题

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