我试图弄清楚如何从我的 WSL 中使用 rustc & cargo。我使用 VS Code 和 Rust (rls) 插件并且可以编译我的代码,但是 RLS 存在问题:
无法启动客户端 Rust 语言服务器
Rustup 不可用。从https://www.rustup.rs/安装
我该如何解决这个问题?
我试图弄清楚如何从我的 WSL 中使用 rustc & cargo。我使用 VS Code 和 Rust (rls) 插件并且可以编译我的代码,但是 RLS 存在问题:
无法启动客户端 Rust 语言服务器
Rustup 不可用。从https://www.rustup.rs/安装
我该如何解决这个问题?
WSL 和 Visual Studio Code 也有这个问题。问题似乎源于 Rust 语言服务器需要rustup
在您的路径中找到的事实。我们可能都遵循使用包管理器安装cargo
rust 编译器工具的相同路径。这不包括rustup
您实际上可以用来使 rust 工具链保持最新状态的工具。 rustup
似乎也是在系统上安装 rust 工具链的首选方法。
rustup
使用默认设置安装后,您应该.rustup
会在主目录中看到一个目录。这就是工具链所在的地方。安装文本都表明它会在注销并重新登录后将工具链添加到您的环境路径中,但我没有运气。我目前正在使用fish
而不是bash
并且必须更新配置以在启动时包含工具链。一旦我这样做了,我就可以让 VSCode 正确安装并运行 RLS。
这适用于我在 Ubuntu 20.04 的远程 SSH 环境中
在 .profile 中,注释以下行:
export PATH="$HOME/.cargo/bin:$PATH"
在两者中,添加以下行:
[[ ":$PATH:" != *":$HOME/.cargo/bin:"* ]] && PATH="$HOME/.cargo/bin:${PATH}"
所以......我在 Windows 10 上运行 Rust,我遇到了同样的问题。我的 Rust 版本是 1.24.3,我的 VSCode 版本是 1.63.2。
您需要做的第一件事是将“%USERPROFILE%.cargo\bin”添加到您的环境变量中
可以在本教程中找到对我有用的下一个解决方案:Rust on Windows and Visual Studio Code
即使我运行:
which rustup
/Users/justincalleja/.cargo/bin/rustup
rustup
在 VSCode 设置中的一个简单条目:
“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)
)。