在RubyMine中运行规范导致“无法加载这样的文件 – teamcity / spec / runner / formatter / teamcity / formatter(LoadError)”
操作系统:Arch Linux,Rails版本:4,RubyMine:6.3
当我从工具运行一个规格 – 运行Rake任务 – 规范我总是得到这个错误:
/home/chylli/.rvm/gems/ruby-2.1.2@rails4/gems/rspec-core-3.0.2/lib/rspec/core/configuration.rb:1024:in`require':无法加载这样的文件 – – teamcity / spec / runner / formatter / teamcity / formatter(LoadError)
但运行“debugging规范:模型”是可以的。
我试过的:我在运行编辑configuration下添加了“ruby arguments”
-I $ RUBYMINE_HOME / rb / testing / patch / bdd -I $ RUBYMINE_HOME / rb / testing / patch / common
但它不起作用。
跑
spring stop
在从RubyMine运行rake之前的命令行上,或者直接运行规范,或者做其他使用spring的东西。
只要你以前通过运行rake或者在RubyMine之外的其他地方做了一些其他的事情,你就不需要每次运行Rake或者specs或者RubyMine的时候都这样做。 从RubyMine切换回命令行时,您也不需要spring stop
。
发生这种情况的原因是,如果在运行rake或RubyMine之外的任何时候没有运行spring,Spring将启动并预加载您的代码,但不是RubyMine特定的代码。 很明显,spring不知道如何在启动后加载缺less的代码。
我花了时间来解决这个问题,而不需要重新启动弹簧。
在我的spring-commands-rspec gem的fork中有一个快速入侵 请求 。
但它看起来并不像repo是活动的,所以你可以通过将你的spring-commands-rspec条目切换到你的Gemfile来使用我的修复:
gem 'spring-commands-rspec', git: 'https://github.com/thewoolleyman/spring-commands-rspec.git'
HTH,:) – 乍得
今天有同样的问题,我不得不采取不同的行动:
spring stop
会告诉我, Spring is not running
所以我必须
1.手动杀死他们
ps aux | grep spring
会给我
thomasromera 27841 [...] | spring app | started 23 hours ago | development mode thomasromera 38931 [...] | spring app | started 18 hours ago | development mode thomasromera 54661 [...] | spring app | started 4 mins ago | development mode thomasromera 27840 [...] | spring server | started 23 hours ago
然后杀死所有服务器+应用程序
kill 27840 kill 38931 ...
2.closuresRubyMine中的弹簧预加载器:
在RubyMine中: CMD + Shift + 一个types的spring pre-loader
,将其closures并重新运行规范。
如果你需要的话,别忘了再打开它。