RubyMine 2025.2 Help

Rails/Spring 支持

Spring 是一个 Rails 应用程序预加载器,通过在后台保持应用程序运行来加速开发。 这意味着当您进行更改时,无需重新启动服务器。

在 RubyMine 中,Spring 可用于运行 Rails 生成器测试Rake 任务。 确保将 spring gem 添加到 Gemfile 安装 到项目的解释器中。

请注意,Test::Unit/Shoulda/Minitest 测试默认情况下不会使用 Spring 运行。 有关启用 Spring 运行测试的更多信息,请参阅 使用 Spring 运行测试

使用 Spring 运行测试

RubyMine 允许您指定是否使用 Spring 预加载器运行指定的 运行/调试配置 的测试。 在下面的示例中,我们将演示如何从 test 目录中的所有 Minitest 测试运行 sample_rails_app 项目。 为此,您可以使用以下工作流程:

  1. 右键单击项目视图中的 test 目录,然后选择 运行“测试中的所有测试:...”。 执行测试后,将创建一个相应的运行/调试配置(测试中的所有测试:sample_rails_app)。

    测试的运行配置

  2. 在导航栏中,展开运行/调试配置列表并选择 编辑配置

    编辑运行配置
  3. 在调用的对话框中,确保在左侧列表中选择了 测试中的所有测试:sample_rails_app 配置。 然后,将 使用预加载服务器 选项设置为 Spring

    运行/调试配置对话框

    点击 确定。 现在将使用 Spring 预加载器从此运行/调试配置运行测试。

使用 Spring 进行调试

RubyMine 允许您使用 调试 Spring 的 Rails 应用程序。 这可能需要更新系统或项目的 Spring 配置文件,以便将调试器加载到 Spring 分叉 的每个进程中。 当您开始调试时,RubyMine 可能会显示包含以下选项的对话框:

  • 系统配置(~/.spring.rb)

    单击以更新系统 Spring 配置( ~/.spring.rb 文件)并开始调试。

  • 项目配置(config/spring.rb)

    单击以更新项目 Spring 配置( config/spring.rb 文件)并开始调试。

  • 请勿更改,禁用 Spring

    单击以禁用 Spring 以调试应用程序。

禁用 Spring

如果需要,您可以为当前项目禁用 Spring。 为此:

  1. 在主菜单中,前往 帮助 | 查找操作 Ctrl+Shift+A

  2. 开始输入 Spring 并禁用 Spring 预加载器 选项。

Spring 服务器命令

当您在 RubyMine 中启动 Rails 生成器、测试或 Rake 任务时,它会启动一个带有自定义 SPRING_TMP_PATH 的 Spring 服务器单独实例 环境变量。 此变量的值等于 ${TMPDIR}rm<hash><name>。 这意味着您需要在 Spring 服务器命令前加上 SPRING_TMP_PATH=${TMPDIR}rm<hash><name> ,其中:

  • <hash> 是以十六进制系统表示的项目位置的哈希代码。

  • <name> 是项目名称,可能被截断。

要检测必要的哈希代码和名称,请在终端中使用以下命令:

ls -t ${TMPDIR} | grep "^rm"

您将获得一个以 rm 前缀开头并按修改时间(降序)排序的目录列表。

在命令输出中,找到包含项目根文件夹首字母的条目。 例如,对于名为 sample_rails_app 的项目,相应的条目可能如下所示: rm1c3c5678samp。 此示例中的哈希代码是 1c3c5678 ,名称是 samp

例如,如果您在 macOS 上使用 Spring 时遇到一些问题并需要停止它,请运行以下命令:

SPRING_TMP_PATH=${TMPDIR}rm1c3c5678PROJECT_NAME bin/spring stop
最后修改日期: 2025年 9月 26日