Sublime Text 中 cargo run 失败主因是环境变量未透传、working_dir 错误或语法未设为 Rust;需检查 PATH 是否含 ~/.cargo/bin 或 %USERPROFILE%.cargoin,设 working_dir 为 "${project_path:${folder}}",并手动选择 Rust 语法。

Sublime Text 里 cargo run 报错或静默失败,90% 是环境变量没透传、working_dir 指向错误、或语法没设对——不是插件装少了,也不是 Rust 没装好。
Sublime 控制台里 cargo --version 找不到命令
终端能跑 ≠ Sublime 能调用。GUI 启动的 Sublime 不加载你的 ~/.zshrc 或 PATH 环境变量,尤其 macOS(Dock 启动)、Windows(未重启编辑器)最常见。
- 按
Ctrl+`打开 Sublime 控制台,执行:import os; print(os.environ.get('PATH'))确认输出含~/.cargo/bin(macOS/Linux)或%USERPROFILE%.cargoin(Windows) - macOS/Linux:确保
~/.cargo/bin已写入 shell 配置(如~/.zshrc),并执行source ~/.zshrc;更可靠的是从终端运行subl .启动 - Windows:把
%USERPROFILE%.cargoin加进「系统环境变量」(不是用户变量),然后彻底退出 Sublime(右键任务栏 → 退出),再重开 - 加
"shell": true到 Build System 是兜底方案:它让命令走系统 shell,能继承完整PATH
cargo run 提示 error: no Cargo.toml file found
Build System 默认在 ${file_path}(比如打开 src/main.rs 时是 src/ 目录)下执行命令,但 cargo 必须在含 Cargo.toml 的项目根目录运行。
- Build System 中必须写:
"working_dir": "${project_path:${folder}}",不能用${file_path} - 打开项目时,用 File → Open Folder 加载整个文件夹(含
Cargo.toml),别只双击单个.rs文件 - 右键标签页 → Reveal in Side Bar,确认当前视图层级是否在项目根目录(即能看到
Cargo.toml) - 单文件快速测试?不用
cargo run,改用rustc hello.rs && ./hello
右下角显示 Plain Text,构建系统不触发
Sublime 全靠右下角语法标识匹配 source.rust 这个 selector,语法高亮、构建系统、LSP 补全都依赖它。不手动设,就全是纯文本。
- 打开任意
.rs文件,点右下角状态栏(显示Plain Text的地方),手动选Rust - 如果列表里没有
Rust,说明插件没加载:用 Package Control 安装Rust(by rust-lang),不是RustEnhanced;二者共存会冲突,导致状态栏卡死 - 装完后进 View → Syntax → Rust → Rust,设为默认,避免每次手动切
错误信息无法双击跳转到源码行
Build System 输出编译错误后只是纯文本,没法点击跳转,基本就是 file_regex 没配或格式不对。
- rustc/cargo 错误典型格式是:
src/main.rs:2:5: error[E0308]: mismatched types - 对应正则应为:
"file_regex": "^(.+):([0-9]+):([0-9]+):\s*(.*)$"(注意\s*中反斜杠要双写) - 漏掉这行,所有错误都变成静态日志,失去可操作性
- 别写成
s*或漏掉开头的^,否则匹配失败
最容易被忽略的是:Sublime 的 PATH 和你终端里的 PATH 是两套独立环境,且 GUI 启动时几乎从不继承 shell 配置;哪怕控制台里 print(os.environ) 看起来没问题,也得用 subprocess.run(['cargo', '--version']) 实际跑一遍验证。否则一切配置都是空中楼阁。


















