我正在尝试弄清楚如何在WSL中使用rustc和cargo。我使用VS Code和Rust(rls)插件,可以编译我的代码,但是出现了RLS的问题:
无法启动客户端Rust Language Server
Rustup不可用。请从https://www.rustup.rs/安装。
我该如何解决这个问题?
我正在尝试弄清楚如何在WSL中使用rustc和cargo。我使用VS Code和Rust(rls)插件,可以编译我的代码,但是出现了RLS的问题:
无法启动客户端Rust Language Server
Rustup不可用。请从https://www.rustup.rs/安装。
我该如何解决这个问题?
即使我运行:
which rustup
/Users/justincalleja/.cargo/bin/rustup
在VSCode设置中简单输入rustup
:
"Rust-client: Rustup Path Path to rustup executable. Ignored if rustup is disabled."
是不够的,我必须像上面显示的那样输入rustup二进制文件的绝对路径。这样做后,我重新加载了窗口,然后被要求下载缺少的组件(或依赖项-提示现在已经消失了,我忘记了)。这样做之后,VSCode插件似乎工作得很好。至少我可以格式化代码。
所以看起来它是与VSCode的PATH和我的系统上的PATH不匹配有关。我不确定是什么问题,但如果你只是想让扩展程序工作,请尝试在设置中使用rustup
的绝对路径。
(注意:source "$HOME/.cargo/env"
会自动添加到启动文件中,如.bashrc。我尝试的第一件事是将其添加到我的shell(zsh)的启动文件中,但并没有添加成功。但是这也没有用。我正在使用rustc 1.49.0 (e1884a8e3 2020-12-29)
)。
所以...我在Windows 10上运行Rust时遇到了同样的问题。我的Rust版本是1.24.3,我的VSCode版本是1.63.2。
你需要做的第一件事是将"%USERPROFILE%.cargo\bin"添加到你的环境变量中
下一个解决方案可以在这个教程中找到:Rust on Windows and Visual Studio Code
这个方法适用于我在Ubuntu 20.04远程SSH环境下的操作。
在.profile中,注释掉以下这行:
export PATH="$HOME/.cargo/bin:$PATH"
[[ ":$PATH:" != *":$HOME/.cargo/bin:"* ]] && PATH="$HOME/.cargo/bin:${PATH}"
Remote SSH
和运行在Windows上的Linux虚拟机(Virtual Box)时遇到了同样的问题。解决方法是手动安装Rust语言服务器rustup component add rls rust-analysis rust-src
并重新启动虚拟机。不过我不确定根本原因是什么。 - Majus Misiak