0

我最近在 nettuts 上开始了“Intro to Rails”截屏视频。所以我显然对 Rails 不是很熟悉,对 Ruby 也只知道一点。代码中的其他所有内容都将正常运行,但是当我运行 guard-rspec 时,它会显示:

/Users/hanssingh/.rvm/rubies/ruby-2.0.0-p195/lib/ruby/2.0.0/minitest/unit.rb:1013:in `block in process_args': invalid option: -f (OptionParser::InvalidOption)
    from /Users/hanssingh/.rvm/rubies/ruby-2.0.0-p195/lib/ruby/2.0.0/minitest/unit.rb:992:in `new'
    from /Users/hanssingh/.rvm/rubies/ruby-2.0.0-p195/lib/ruby/2.0.0/minitest/unit.rb:992:in `process_args'
    from /Users/hanssingh/.rvm/rubies/ruby-2.0.0-p195/lib/ruby/2.0.0/minitest/unit.rb:1042:in `_run'
    from /Users/hanssingh/.rvm/rubies/ruby-2.0.0-p195/lib/ruby/2.0.0/minitest/unit.rb:1035:in `run'
    from /Users/hanssingh/.rvm/rubies/ruby-2.0.0-p195/lib/ruby/2.0.0/test/unit.rb:21:in `run'
    from /Users/hanssingh/.rvm/rubies/ruby-2.0.0-p195/lib/ruby/2.0.0/test/unit.rb:774:in `run'
    from /Users/hanssingh/.rvm/rubies/ruby-2.0.0-p195/lib/ruby/2.0.0/test/unit.rb:366:in `block (2 levels) in autorun'
    from /Users/hanssingh/.rvm/rubies/ruby-2.0.0-p195/lib/ruby/2.0.0/test/unit.rb:27:in `run_once'
    from /Users/hanssingh/.rvm/rubies/ruby-2.0.0-p195/lib/ruby/2.0.0/test/unit.rb:365:in `block in autorun'

我不太确定这个错误是什么意思,我该如何摆脱它?

4

2 回答 2

1

似乎是由转宝石引起的(我怀疑你有它)。从您的 Gemfile 中删除它,再次运行 bundle,然后再次尝试使用 guard 进行测试。这对我有用。

于 2013-06-14T06:49:56.127 回答
0

在运行 Guard 时遇到类似的问题得到 Test::Unit 错误:

/usr/local/var/rbenv/versions/1.9.3-p327/lib/ruby/1.9.1/test/unit.rb:49:in `process_args': invalid option: -f (OptionParser::InvalidOption)

根据https://github.com/guard/guard/issues/170,这是由于我的 Gemfile 中包含了 shoulda gem。将其更改为 should-matchers 为我解决了这个问题,而不必失去 shoulda 的可爱之处。

研究 Nettuts 'Intro to Rails' Gemfile 似乎包含基于 minitest 的 'turn' gem。因此,正如@kladd 建议的那样,从您的 Gemfile 中删除它应该会有所帮助。

于 2013-06-14T11:26:17.840 回答