Sublime Text 运行 Ruby 需手动配置 Build System,核心是正确设置 ruby 可执行路径、命令参数及编码;须先确保终端可运行 ruby -v,再创建 Ruby.sublime-build 文件指定 cmd、path 和 selector。

Sublime Text 本身不内置 Ruby 运行支持,必须通过 Build System 手动配置才能运行 .rb 文件。关键不是“装插件”,而是让 Sublime 知道去哪里找 ruby 可执行文件、怎么传参、怎么捕获错误。
确认系统已安装 Ruby 并可命令行调用
这是最容易被跳过的一步。Sublime 的构建系统本质是调用终端命令,如果终端里输 ruby --version 报错或找不到命令,Sublime 肯定也运行不了。
-
macOS:检查是否用
brew install ruby安装,且which ruby输出类似/opt/homebrew/bin/ruby(Apple Silicon)或/usr/local/bin/ruby(Intel) - Windows:确认 RubyInstaller 已勾选 “Add Ruby executables to your PATH”,然后在 CMD 中运行
ruby -v - Linux:通常
/usr/bin/ruby存在,但建议用which ruby实际查
手动创建 Ruby 构建系统(.sublime-build)
Sublime 不会自动识别 Ruby,必须新建一个构建定义文件。路径是:Tools → Build System → New Build System,然后粘贴以下内容并保存为 Ruby.sublime-build:
{
"cmd": ["ruby", "$file"],
"file_regex": "^(...*?):([0-9]*):?([0-9]*)",
"selector": "source.ruby",
"encoding": "utf-8",
"path": "/opt/homebrew/bin"
}
注意几个关键点:
-
"cmd"中的$file表示当前打开的文件路径,不能写成$file_name或漏掉引号 -
"path"必须填你本地ruby所在目录(用dirname $(which ruby)查),Windows 用户填类似C:\\Ruby32-x64\\bin(注意双反斜杠) - 如果 Ruby 依赖 Bundler 管理 gem,想运行
bundle exec ruby xxx.rb,就把"cmd"改成["bundle", "exec", "ruby", "$file"],但需确保bundle命令也在path下可用
运行时常见报错及对应原因
按下 Ctrl+B(Windows/Linux)或 Cmd+B(macOS)后没反应或报错,多数是下面几种情况:
-
Unable to find command ruby:构建系统里的"path"没配对,或根本没配;检查终端能否直接运行ruby -
can't find executable ruby for gem bundler:用了bundle exec但bundlergem 未全局安装,或bundle不在path中 - 输出中文乱码(Windows):把构建系统里的
"encoding"改成"cp936"(简体中文系统)或"gbk" - 脚本有语法错误但只显示
[Finished]:说明构建成功退出(exit code 0),但 Ruby 实际崩溃了;这时要看完整输出面板——按Ctrl+`调出控制台,里面会有真实错误堆栈
不需要装 Ruby 插件也能调试,但要注意变量作用域
Sublime 的构建系统只是执行命令,不提供断点、变量查看等调试功能。如果需要交互式调试,得靠外部工具:
- 加
binding.pry后用终端运行:构建系统只适合跑完即止的脚本,带pry的代码必须在终端里手动执行ruby xxx.rb - 想看
puts实时输出?没问题;但gets输入会卡住——因为 Sublime 的输出面板不支持 stdin 输入,此时必须切到终端 - 项目级运行(如 Rails)不适合用 Sublime 构建系统,应统一用终端 +
rails server或bundle exec rspec
真正麻烦的从来不是配置步骤,而是不同 Ruby 版本、不同包管理器(rbenv / chruby / RVM)、不同系统 PATH 的叠加效应。每次换机器或重装系统,第一件事不是打开 Sublime,而是先在终端里确认 ruby 和 bundle 都能干净调用。








