无法启动客户端Rust语言服务器

时间:2019-10-09 21:07:03

标签: visual-studio-code rust windows-subsystem-for-linux rls

我正在尝试从WSL中找出如何使用锈和货物的方法。我使用VS Code和Rust(rls)插件,可以编译我的代码,但RLS存在问题:

  

无法启动客户端Rust语言服务器

     

Rustup不可用。从https://www.rustup.rs/

安装

我该如何解决这个问题?

4 个答案:

答案 0 :(得分:8)

在 VSCode 设置中设置 rust-client.rustupPath

{
    "rust-client.rustupPath": "~/.cargo/bin/rustup"
}

如果您在 Windows 上使用 WSL,请确保编辑 Rust 扩展WSL 设置,而不是用户/本地设置。

教程:

答案 1 :(得分:0)

我也遇到了WSL和Visual Studio Code的问题。问题似乎源于Rust语言服务器需要在路径中找到rustup的事实。我们俩可能都遵循使用软件包管理器安装cargo的相同路径,因此也安装了rust编译器工具。它不包括rustup,您实际上可以使用它来使锈工具链保持最新状态。 rustup似乎也是在系统上安装rust工具链的首选方法。

使用默认设置安装rustup后,您应该在主目录中看到一个.rustup目录。这就是工具链所在的地方。所有安装文本都表明它将在注销并重新登录后将工具链添加到您的环境路径中,但是我对此并不走运。我当前使用的是fish而不是bash,并且不得不在启动时更新配置以包括工具链。完成此操作后,便能够正确安装VSCode并运行RLS。

答案 2 :(得分:0)

这对于使用Ubuntu 20.04的远程SSH环境非常有用

  1. 在用户主目录中编辑.profile和.bashrc文件

在.profile中,注释以下行:

export PATH="$HOME/.cargo/bin:$PATH"

在两者中都添加以下行:

[[ ":$PATH:" != *":$HOME/.cargo/bin:"* ]] && PATH="$HOME/.cargo/bin:${PATH}"
  1. 重新启动。

答案 3 :(得分:0)

即使我跑了:

which rustup
/Users/justincalleja/.cargo/bin/rustup

VSCode 设置中 rustup 的简单条目:

<块引用>

"Rust-client: Rustup Path rustup 可执行文件的路径。如果 rustup 忽略 已禁用。”

还不够,我必须将绝对路径放在 rustup 二进制文件中,如上所示。这样做之后,我重新加载了窗口,然后被要求下载丢失的组件(或依赖项 - 现在我忘了提示了)。这样做之后,VSCode 插件似乎工作正常。我至少可以格式化代码。

所以看起来它与 VSCode 的 PATH 和我系统上的 PATH 不匹配。我不确定它是什么,但如果您只是想让扩展程序正常工作,请尝试在设置中使用 rustup 的绝对路径。

注意source "$HOME/.cargo/env" 会自动添加到您的启动文件中,例如 .bashrc。我尝试的第一件事是将其添加到 zsh 的启动文件中;我正在使用的 shell 和它没有添加到其中。但这也不起作用。我正在使用 rustc 1.49.0 (e1884a8e3 2020-12-29) )。