Код: Выделить всё
Client rust-analyzer quit with exit code 1 and signal 0. Check log for errors: /home/user/.local/state/nvim/lsp.log< /code> < /p>
Просматривая файл lsp.log, я вижу это сообщение об ошибке:
[ERROR] .../vim/lsp/rpc.lua:420 "rpc" "/run/current-system/sw/bin/rust-analyzer" "stderr" "error: Unknown binary 'rust-analyzer' in official toolchain 'stable-x86_64-unknown-linux-gnu'.\n"
Сначала я подумал, что это может быть проблема Neovim, связанная с тем, как Nix управляет пакетами. Итак, я попытался запустить анализер Rust прямо из терминала, но я получаю ту же ошибку: < /p>
$ rust-analyzer
error: Unknown binary 'rust-analyzer' in official toolchain 'stable-x86_64-unknown-linux-gnu'.
< /code>
Я понял, что rust-analyzer, возможно, не был установлен автоматически с пакетом Rustup от Nix, поэтому я явно установил rust-analyzer, используя также менеджер пакетов NIX. < /p>
Несмотря на это, поведение остается идентичным для rust-analyzer.$ which rust-analyzer
/run/current-system/sw/bin/rust-analyzer
< /code>
Но запустить его непосредственно, используя абсолютный путь, все еще дает ту же «неизвестную бинарную» ошибку: < /p>
$ /run/current-system/sw/bin/rust-analyzer
error: Unknown binary 'rust-analyzer' in official toolchain 'stable-x86_64-unknown-linux-gnu'.
< /code>
Кроме того, я переустановил все пакеты Rust, включая Rustfmt и Rustc, но теперь я сталкиваюсь с аналогичными проблемами с ними при попытке их использовать (непосредственно в терминале или через интеграции Neovim). В частности, я получаю ошибки, указывающие на то, что Rustfmt и Rustc не могут выбрать версию для запуска, потому что никто не указан явно, и не настроено по умолчанию. Я также использовал команду, чтобы найти местоположение этих двоичных файлов, и даже после подтверждения правильного пути запуск их по -прежнему приводит к тем же ошибкам. < /P>
$ rustfmt
error: rustup could not choose a version of rustfmt to run, because one wasn't specified explicitly, and no default is configured.
help: run 'rustup default stable' to download the latest stable release of Rust and set it as your default toolchain.
$ rustc
error: rustup could not choose a version of rustc to run, because one wasn't specified explicitly, and no default is configured.
help: run 'rustup default stable' to download the latest stable release of Rust and set it as your default toolchain.
< /code>
Это приводит меня к нескольким вопросам: < /p>
Рассмотрение постоянного ржавного анализатора «Неизвестное бинарное» ошибка и
Эти новые ошибки для rustfmt /rustc, если я установил эти компоненты Br /> rusterup ruster). Вместо того, чтобы использовать диспетчер пакетов NIX? Разве
установка компонентов через Rustup несколько не противоречит декларативному
и воспроизводимый характер Nixos, где зависимости предпочтительно
управляется самим NIX? /> rustfmt и rustc (также установлен через Nix) на Nixos? < /p>
< /li>
< /ol>
Подробнее здесь: https://stackoverflow.com/questions/795 ... ed-via-nix