0

0

Sublime怎么运行Ruby_Sublime Ruby环境搭建指南【环境】

尼克

尼克

发布时间:2026-03-03 09:57:14

|

702人浏览过

|

来源于php中文网

原创

sublime text 中 ctrl+b 运行 ruby 报错“command not found”的根本原因是其默认使用系统 path 查找 ruby,而未配置 rbenv/rvm 或未将 ruby 路径加入 path;应新建 build system 并显式指定 ruby 完整路径,同时设置 env 编码变量和 working_dir 以适配版本管理、utf-8 中文路径及 bundler 环境。

sublime怎么运行ruby_sublime ruby环境搭建指南【环境】

Sublime Text 里直接按 Ctrl+B 运行 Ruby 报错 ruby: command not found

根本原因不是 Sublime 有问题,而是它默认调用系统 PATH 里的 ruby 命令——如果你没把 Ruby 安装路径加进系统 PATH,或者用的是 rbenv/rvm 管理的 Ruby,Sublime 就找不到可执行文件。

实操建议:

  • 在终端运行 which ruby,确认 Ruby 可执行文件真实路径(比如 /Users/xxx/.rbenv/shims/ruby/opt/homebrew/bin/ruby
  • 打开 Sublime Text → Tools → Build System → New Build System…,粘贴以下内容(注意替换 ruby 路径):
{
    "shell_cmd": "/Users/xxx/.rbenv/shims/ruby \"${file}\"",
    "file_regex": "^(...*?):([0-9]*):?([0-9]*)",
    "selector": "source.ruby"
}
  • 保存为 Ruby.sublime-build,然后在右下角状态栏手动选中这个构建系统
  • Mac 上如果用了 zsh,且 Ruby 是通过 rbenv 安装的,subl 命令从终端启动才能继承 shell 环境;否则 Sublime 启动时读不到 ~/.zshrc 里的 rbenv 初始化逻辑

Build System 里写 ruby -v 能跑通,但运行 .rb 文件报语法错误

常见于 Ruby 版本不一致:你终端里 ruby -v 显示 3.2,但 Sublime 调用的可能是系统自带的 2.6(尤其 macOS 默认带旧版 Ruby)。

实操建议:

  • 在 Build System 的 shell_cmd 中显式指定完整路径,别依赖 ruby 别名或未激活的版本管理器
  • 在构建命令里加 -W 参数快速验证版本:/path/to/ruby -W -v,看输出是否和终端一致
  • 如果用 rvm,不能只写 rvm use 3.2 && ruby ${file}——rvm 是 shell function,Sublime 的 build system 不加载 shell 函数,必须用 rvm-exec 或直接调用具体路径

中文路径或文件名下运行 Ruby 报 invalid multibyte char (UTF-8)

不是编码设置问题,是 Sublime 默认用系统 locale 启动子进程,而 macOS/Linux 某些 locale(如 CPOSIX)不声明 UTF-8,Ruby 解析源码时拒绝处理非 ASCII 字符。

FineCam
FineCam

FineShare平台的推出的AI虚拟摄像头,可以将任何摄像头转换为高质量的网络摄像头

下载

实操建议:

  • 在 Build System 的 env 字段强制注入编码环境变量:
{
    "shell_cmd": "/path/to/ruby \"${file}\"",
    "env": {"LANG": "en_US.UTF-8", "LC_ALL": "en_US.UTF-8"},
    "file_regex": "^(...*?):([0-9]*):?([0-9]*)",
    "selector": "source.ruby"
}
  • Windows 用户注意:chcp 65001 并不能被 Sublime build system 自动继承,得用 cmd /c "chcp 65001 >nul && ruby ${file}" 包一层
  • 该问题在 Ruby 3.0+ 更敏感,因为默认启用更严格的源码编码检查

想用 Bundler 管理 gem 依赖,但 bundle exec ruby 在 Build System 里不生效

bundle exec 本质是包装器,它要找到当前目录下的 Gemfile 才能生效。Sublime 构建时的工作目录(cwd)默认是文件所在目录,但有时会因项目结构或插件干扰变成其他路径。

实操建议:

  • 显式指定工作目录,在 Build System 中加 "working_dir": "${file_path}"
  • 避免用 bundle exec ruby ${file},改用 bundle exec ruby -Ilib "${file}"(加上 -Ilib 防止 require 报错)
  • 如果项目有多个 Gemfile(如 monorepo),确保 Sublime 当前打开的是对应子目录下的文件,否则 bundle exec 会找不到目标 Gemfile

最易被忽略的一点:Sublime 的 Build System 不支持交互式输入(gets 会立即返回 nil),所有依赖用户输入的 Ruby 脚本,在这里运行都会静默失败——这不是环境问题,是设计限制。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
require的用法
require的用法

require的用法有引入模块、导入类或方法、执行特定任务。想了解更多require的相关内容,可以阅读本专题下面的文章。

506

2023.11.27

function是什么
function是什么

function是函数的意思,是一段具有特定功能的可重复使用的代码块,是程序的基本组成单元之一,可以接受输入参数,执行特定的操作,并返回结果。本专题为大家提供function是什么的相关的文章、下载、课程内容,供大家免费下载体验。

495

2023.08.04

js函数function用法
js函数function用法

js函数function用法有:1、声明函数;2、调用函数;3、函数参数;4、函数返回值;5、匿名函数;6、函数作为参数;7、函数作用域;8、递归函数。本专题提供js函数function用法的相关文章内容,大家可以免费阅读。

166

2023.10.07

常见的编码方式
常见的编码方式

常见的编码方式有ASCII编码、Unicode编码、UTF-8编码、UTF-16编码、GBK编码等。想了解更多编码方式相关内容,可以阅读本专题下面的文章。

641

2023.10.24

a和A对应的ASCII码数值
a和A对应的ASCII码数值

a的ascii码是65,a的ascii码是97;ascii码表中,一个字母的大小写数值相差32,一般知道大写字母的ascii码数值,其对应的小写字母的ascii码数值就算出来了,是大写字母的ascii码数值“+32”。想了解更多相关的内容,可阅读本专题下面的相关文章。

2224

2024.10.24

windows查看端口占用情况
windows查看端口占用情况

Windows端口可以认为是计算机与外界通讯交流的出入口。逻辑意义上的端口一般是指TCP/IP协议中的端口,端口号的范围从0到65535,比如用于浏览网页服务的80端口,用于FTP服务的21端口等等。怎么查看windows端口占用情况呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

1377

2023.07.26

查看端口占用情况windows
查看端口占用情况windows

端口占用是指与端口关联的软件占用端口而使得其他应用程序无法使用这些端口,端口占用问题是计算机系统编程领域的一个常见问题,端口占用的根本原因可能是操作系统的一些错误,服务器也可能会出现端口占用问题。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

1159

2023.07.27

windows照片无法显示
windows照片无法显示

当我们尝试打开一张图片时,可能会出现一个错误提示,提示说"Windows照片查看器无法显示此图片,因为计算机上的可用内存不足",本专题为大家提供windows照片无法显示相关的文章,帮助大家解决该问题。

827

2023.08.01

Swift iOS架构设计与MVVM模式实战
Swift iOS架构设计与MVVM模式实战

本专题聚焦 Swift 在 iOS 应用架构设计中的实践,系统讲解 MVVM 模式的核心思想、数据绑定机制、模块拆分策略以及组件化开发方法。内容涵盖网络层封装、状态管理、依赖注入与性能优化技巧。通过完整项目案例,帮助开发者构建结构清晰、可维护性强的 iOS 应用架构体系。

0

2026.03.03

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号