You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

RubyMine运行Rails 6.1测试报找不到JavaScript runtime错误

运行环境
  • 操作系统:Ubuntu 20.04
  • 应用:Rails 6.1 项目,搭载RSpec测试套件
  • 开发工具:RubyMine 2022.1.3
  • Ruby环境:rbenv管理,版本为3.0.3
  • Node.js安装路径:/home/alex/.nvm/versions/node/v16.13.0/bin/node
问题表现

通过RubyMine的以下入口执行操作时,均触发ExecJS::RuntimeUnavailable报错,提示找不到JavaScript运行时:

  • 通过spec类运行配置启动测试
  • 点击测试定义旁的运行图标启动测试
  • 启动调试器
  • 运行带覆盖率统计的测试
  • 通过Run Anything入口执行Rails命令(如生成控制器)

仅通过Tools > bundle > install路径执行bundle install操作可正常运行,无报错。

测试运行报错日志

/bin/bash -c "env RBENV_VERSION=3.0.3 /home/alex/.rbenv/libexec/rbenv exec ruby -x /var/www/project/bin/bundle exec ruby /var/www/project/bin/rails spec"
Testing started at 5:17 μ.μ. ...
  rails aborted!
ExecJS::RuntimeUnavailable: Could not find a JavaScript runtime. See https://github.com/rails/execjs for a list of available runtimes.
  /var/www/project/config/application.rb:17:in `<top (required)>'
/var/www/project/Rakefile:9:in `require'
/var/www/project/Rakefile:9:in `<top (required)>'
/var/www/project/bin/rails:4:in `require'
/var/www/project/bin/rails:4:in `<main>'
(See full trace by running task with --trace)

其他报错场景示例(控制器生成命令)

/bin/bash --login -c "env RBENV_VERSION=3.0.3 /home/alex/.rbenv/libexec/rbenv exec rails g controller home"

可正常执行的bundle install命令

/bin/bash -c "env RBENV_VERSION=3.0.3 /home/alex/.rbenv/libexec/rbenv exec bundle install"
已排查情况
  • 该应用手动本地运行、线上部署均正常,无ExecJS相关报错
  • 已尝试安装execjs、mini_racer、libv8-node相关gem,问题未解决
  • 同环境下打开其他搭载RSpec的Rails项目时,运行配置可正常执行。对比两类项目的执行命令发现:正常项目的运行命令会调用spring,异常项目的运行命令未调用spring,命令对比如下:
# 正常项目执行命令(调用spring)
/bin/bash -c "env RBENV_VERSION=3.0.3 /home/alex/.rbenv/libexec/rbenv exec ruby -x /var/www/password_manager/bin/bundle exec ruby /var/www/password_manager/bin/spring rails spec"
# 异常项目执行命令(未调用spring)
/bin/bash -c "env RBENV_VERSION=3.0.3 /home/alex/.rbenv/libexec/rbenv exec ruby -x /var/www/project/bin/bundle exec ruby /var/www/project/bin/rails spec"
  • 排查时当前环境下spring未运行
待确认问题
  • 是否有开发者遇到过同类问题?
  • 是否支持修改RubyMine执行任务时调用的命令?

内容的提问来源于stack exchange,提问作者alex

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 16:27:40