如果我使用spring rake
,它会运行我的项目规范,以确定指定rake
任务的内容。它只是完全忽略命令行中指定的任何内容并运行规范。这是一个例子:
$ spring rake routes
/Users/rsilva/.rbenv/versions/2.0.0-p353/bin/ruby -I/Users/rsilva/.rbenv/versions/2.0.0- p353/lib/ruby/gems/2.0.0/gems/rspec-core-3.1.2/lib:/Users/rsilva/.rbenv/versions/2.0.0-p353/lib/ruby/gems/2.0.0/gems/rspec-support-3.1.0/lib /Users/rsilva/.rbenv/versions/2.0.0-p353/lib/ruby/gems/2.0.0/gems/rspec-core-3.1.2/exe/rspec --pattern spec/\*\*\{,/\*/\*\*\}/\*_spec.rb
Run options: exclude {:expensive=>true, :migration=>true}
# then runs all the project specs
如果我不使用spring
,它可以正常工作:
$ bundle exec rake routes
Prefix Verb URI Pattern Controller#Action
# then prints out all the routes
我在我的Gemfile之外使用Spring(我做gem install spring
)。
以下是我正在使用的spring
和spring-commands-rspec
的版本:
$ gem list --local | grep -P 'spring'
spring (1.1.3)
spring-commands-rspec (1.0.2)
这是我的~/.spring.rb
:
$ cat ~/.spring.rb
require 'spring-commands-rspec'
如何让spring rake
执行指定的任务?
答案 0 :(得分:2)
看起来rake只是执行默认任务而不管传递的参数。这似乎是rake 10.4.0和spring的问题。尝试将rake升级到10.4.1。