rust-analyzer启动失败主因是lsp找不到可执行文件:2026年起cargo install已废弃,rustup component add在macos/linux常静默失败,须手动下载二进制、放固定路径(如/usr/local/bin/rust-analyzer)、并在lsp设置中用绝对路径配置"command",不可依赖path;同时需确保sublime进程path含.cargo/bin、.rs文件语法设为rust、项目根目录含cargo.toml。

rust-analyzer 启动失败:client not started 或 server crashed
这不是插件没装好,是 LSP 插件根本没找到可执行文件。2026 年起 cargo install rust-analyzer 已废弃,rustup component add rust-analyzer 在 macOS 和部分 Linux 发行版上常静默失败(尤其 Apple Silicon 或非标准 shell 环境)。
必须手动下载二进制:
- 去
https://github.com/rust-lang/rust-analyzer/releases下载对应平台的最新 release(如rust-analyzer-x86_64-unknown-linux-gnu或rust-analyzer-aarch64-apple-darwin) - 解压后得到单个无后缀可执行文件(macOS/Linux)或带
.exe后缀的文件(Windows) - 放进固定路径:
/usr/local/bin/rust-analyzer(Linux/macOS)或C:\tools\rust-analyzer.exe(Windows),并确保该路径已加入系统PATH - 在 Sublime 控制台执行
import os; print(os.environ.get('PATH')),确认该路径在输出中
配置 LSP 时,"command" 必须写绝对路径——"command": ["/usr/local/bin/rust-analyzer"],不能只写 ["rust-analyzer"],否则 macOS/Linux 下容易因 PATH 不一致而找不到。
Sublime 里 cargo run 报 command not found,但终端能跑
这是 PATH 隔离问题。Sublime 启动时不会加载你的 shell 配置(如 ~/.zshrc 或 ~/.bash_profile),所以即使终端里 cargo --version 正常,Sublime 进程的 PATH 可能只有 /usr/bin:/bin。
验证方式:在 Sublime 控制台(Ctrl+`)运行:
import os; print(os.environ.get('PATH'))
如果输出不含 ~/.cargo/bin(macOS/Linux)或 %USERPROFILE%\.cargo\bin(Windows),就说明环境变量没透传进来。
- macOS/Linux:确保
~/.cargo/bin已写入~/.zshrc(或你实际用的 shell 配置),且执行过source ~/.zshrc;更可靠的做法是用 Dock 启动 Sublime 前,先在终端执行open -a "Sublime Text" - Windows:把
%USERPROFILE%\.cargo\bin加进「系统环境变量」而非「用户变量」,然后彻底退出 Sublime(右键任务栏图标 → 退出),再重新启动 - 别依赖重启电脑——只需重启 Sublime,并确认控制台输出的
PATH已更新
Rust 语法不识别,右下角显示 Plain Text
这不是插件失效,是 Sublime 没把 .rs 文件绑定到 Rust 语法定义。LSP、格式化、构建系统全部依赖这个标识——scopes 是 ["source.rust"],不是 Plain Text。
解决步骤:
- 打开任意
.rs文件,点击右下角状态栏的Plain Text,从下拉菜单选Rust - 如果列表里没有
Rust,说明官方Rust插件(by rust-lang)未加载成功;此时应卸载RustEnhanced,用 Package Control 重装Rust - 装完后进
View → Syntax → Rust → Rust,设为默认,避免每次手动切 - 检查 LSP 设置中
"scopes"和"syntaxes"是否严格匹配:"scopes": ["source.rust"]和"syntaxes": ["Packages/Rust/Rust.sublime-syntax"]
注意:RustEnhanced 和官方 Rust 插件共存会导致语法冲突,右下角可能卡在 Plain Text 或反复切换,二者必须二选一。
Build System 配置后 Ctrl+B 无反应或报错
Sublime 的构建系统不自动识别 Cargo 项目结构,它只按配置执行命令。常见错误是路径错、权限错、或没指定 working_dir 导致 cargo 找不到 Cargo.toml。
推荐新建一个 Rust-Cargo-run.sublime-build:
{
"cmd": ["cargo", "run"],
"working_dir": "${project_path:${folder}}",
"selector": "source.rust",
"shell": true,
"file_regex": "^(.*?):([0-9]+):([0-9]+): (error|warning|note): (.*)$"
}
-
working_dir必须设为${project_path:${folder}},否则在子目录打开.rs文件时,cargo run会因不在项目根目录而失败 -
file_regex用于高亮错误位置,不加它,编译错误就只在控制台滚动,无法跳转 - 保存后,手动在
Tools → Build System中选中该构建系统——Sublime 不会自动切换 - 如果想支持
cargo check或cargo test,另建两个 build 文件,改"cmd"即可,不用改其他字段
真正容易被忽略的是:Cargo 构建系统只在有 Cargo.toml 的目录下才有效。直接打开单个 main.rs(非项目)时,cargo run 必然失败——这不是配置问题,是 Cargo 本身的行为。











