当我使用“捆绑exec”时,一切都崩溃了

时间:2012-04-21 08:56:14

标签: ruby gem rake bundler rake-task

我正在创建一个gem,我在我的存储库中添加了一个Gemfile。我跑的时候

$ rake test

一切都很顺利。我自己编写的test命令,它只执行我的测试文件夹中的所有测试。所以,像这样

ruby -Ilib *_test.rb

但是,当我使用rake testbundle exec命令添加前缀时,我开始从我使用的唯一gem faraday获取错误。你知道可能是什么问题吗? (我正在使用rbenv)

所有错误都是这种错误:

Flickrie::Error: Flickrie::Error
/Users/jstojanovski/Projects/flickrie/lib/flickrie/client.rb:37:in `on_complete'
/Users/jstojanovski/.rbenv/versions/1.9.2-p318/lib/ruby/gems/1.9.1/gems/faraday-0.7.6/lib/faraday/response.rb:9:in `block in call'
/Users/jstojanovski/.rbenv/versions/1.9.2-p318/lib/ruby/gems/1.9.1/gems/faraday-0.7.6/lib/faraday/response.rb:62:in `on_complete'
/Users/jstojanovski/.rbenv/versions/1.9.2-p318/lib/ruby/gems/1.9.1/gems/faraday-0.7.6/lib/faraday/response.rb:8:in `call'
/Users/jstojanovski/.rbenv/versions/1.9.2-p318/lib/ruby/gems/1.9.1/gems/faraday-0.7.6/lib/faraday/response.rb:8:in `call'
/Users/jstojanovski/.rbenv/versions/1.9.2-p318/lib/ruby/gems/1.9.1/gems/faraday-0.7.6/lib/faraday/response.rb:8:in `call'
/Users/jstojanovski/.rbenv/versions/1.9.2-p318/lib/ruby/gems/1.9.1/gems/faraday-0.7.6/lib/faraday/request/json.rb:32:in `call'
/Users/jstojanovski/.rbenv/versions/1.9.2-p318/lib/ruby/gems/1.9.1/gems/faraday-0.7.6/lib/faraday/request/url_encoded.rb:14:in `call'
/Users/jstojanovski/.rbenv/versions/1.9.2-p318/lib/ruby/gems/1.9.1/gems/faraday-0.7.6/lib/faraday/connection.rb:210:in `run_request'
/Users/jstojanovski/.rbenv/versions/1.9.2-p318/lib/ruby/gems/1.9.1/gems/faraday-0.7.6/lib/faraday/connection.rb:93:in `get'
/Users/jstojanovski/Projects/flickrie/lib/flickrie/client.rb:44:in `get'
/Users/jstojanovski/Projects/flickrie/lib/flickrie/client.rb:85:in `get_licenses'
/Users/jstojanovski/Projects/flickrie/lib/flickrie.rb:72:in `get_licenses'
/Users/jstojanovski/Projects/flickrie/test/license_test.rb:22:in `test_get_licenses'

这里Flickrie::Error只是在GET请求期间引发异常时我提出的事情(我在Flickr API上发出GET请求)。

当我运行具有不同ruby版本(不同于1.9.3)的普通rake test时,也会发生这些错误。

1 个答案:

答案 0 :(得分:0)

我明白了。我需要将activesupport添加到Gemfile中,因为faraday在不告诉您的情况下使用它。在旧版本的ruby上,您需要使用~> 2.3.8版本。这只是一种发展依赖。