script插件运行.rb文件报command not found: ruby,根本原因是atom未继承系统path,需在script设置中填入ruby绝对路径(如/usr/local/bin/ruby或c:/ruby32-x64/bin/ruby.exe),并重启atom生效。

script插件运行.rb文件报command not found: ruby
这不是插件坏了,而是它默认调用系统 PATH 中的 ruby 命令——如果终端里能跑 ruby -v,但 Atom 里不行,说明 Atom 启动时没继承完整的 PATH。
Windows 用户检查 RubyInstaller 安装时是否勾选了 Add Ruby executables to your PATH;macOS/Linux 用户若用 rbenv/rvm,得确保当前 shell 的 ruby 是你想要的版本(rbenv version 或 rvm current),否则 Atom 可能仍调用 /usr/bin/ruby。
- 最稳的解法:在 Atom 设置 → Packages →
script→ Settings 里,把Command改成绝对路径,比如/usr/local/bin/ruby(Homebrew)、C:/Ruby32-x64/bin/ruby.exe(Windows) - 路径验证方式:终端执行
which ruby,复制输出结果直接粘贴过去 - 注意反斜杠:Windows 路径必须写成正斜杠
C:/Ruby32-x64/bin/ruby.exe或双反斜杠C:\Ruby32-x64\bin\ruby.exe
atom-ide-ruby 补全/跳转失效,提示 No Ruby interpreter found
这个插件不依赖 script,但它自己也要找 ruby 和 solargraph。报错不是 Ruby 没装,而是插件设置里填的路径不对或命令根本不存在。
atom-ide-ruby 设置页有两个关键字段:Ruby command path(指向 ruby 可执行文件)和 Solargraph server path(通常填 solargraph,不是路径)。
- 先确认
solargraph是否可用:终端运行which solargraph,为空就执行gem install solargraph - Windows 用户装完 gem 后,
solargraph可能不在 PATH,需手动把C:Ruby32-x64in加进系统环境变量 -
Ruby command path必须是可执行文件本身,比如/opt/homebrew/bin/ruby,不能只填目录
ruby-test 插件右键 Run Test 没反应或 bundle: command not found
ruby-test 默认不走 bundle exec,它直接调 rspec 或 minitest,所以找不到 bundle 就卡住。
这不是 Gemfile 问题,而是插件配置没对齐项目实际运行方式。
- 打开
ruby-test设置页,Ruby Path填和script一致的ruby路径 -
Test Command改成bundle exec rspec(RSpec 项目)或bundle exec ruby -Itest(MiniTest) - 如果项目没用 Bundler,就别填
bundle exec,直接用rspec,但得确保rspec在 PATH 里(gem install rspec)
运行 require 同目录文件时报 LoadError: cannot load such file
ruby 默认不把当前脚本所在目录加进 $LOAD_PATH,所以 require './helper' 或 require_relative 'helper' 在 script 插件里常失败。
原因:插件默认在 Atom 启动目录(通常是 home)下执行,不是脚本所在目录。
- 临时解法:运行前按
Ctrl+I(Win/Linux)或Cmd+I(macOS),强制在内置终端中执行,它会 cd 到文件目录 - 一劳永逸:在
script设置里,Command改成ruby -I. "$1"(-I.把当前目录加入加载路径) - 注意
"$1"必须加引号,否则含空格的路径会崩
script 负责跑,atom-ide-ruby 负责补全,ruby-test 负责测——它们各自读各自的配置项,互不共享 PATH 或工作目录。最容易被忽略的是:改完任何插件的路径设置后,必须完全退出 Atom(不只是关窗口),否则新配置不生效。











