常绿负载错误

时间:2016-11-23 22:44:07

标签: ruby-on-rails capybara

我有一个 Rails 5 应用,只是将以下行添加到我的Gemfile中:

gem 'evergreen', require: 'evergreen/rails'

之后我跑:

bundle
rake

并得到以下问题:

问题#1

相关输出:

rake aborted!
LoadError: cannot load such file -- rack/showexceptions
/Users/veronicarebagliatte/.rvm/gems/ruby-2.3.1@ticketing_system/gems/activesupport-5.0.0.1/lib/active_support/dependencies.rb:293:in `require'
/Users/veronicarebagliatte/.rvm/gems/ruby-2.3.1@ticketing_system/gems/activesupport-5.0.0.1/lib/active_support/dependencies.rb:293:in `block in require'
/Users/veronicarebagliatte/.rvm/gems/ruby-2.3.1@ticketing_system/gems/activesupport-5.0.0.1/lib/active_support/dependencies.rb:259:in `load_dependency'
/Users/veronicarebagliatte/.rvm/gems/ruby-2.3.1@ticketing_system/gems/activesupport-5.0.0.1/lib/active_support/dependencies.rb:293:in `require'
/Users/veronicarebagliatte/.rvm/gems/ruby-2.3.1@ticketing_system/gems/sinatra-1.0/lib/sinatra/showexceptions.rb:1:in `<top (required)>'
/Users/veronicarebagliatte/.rvm/gems/ruby-2.3.1@ticketing_system/gems/activesupport-5.0.0.1/lib/active_support/dependencies.rb:293:in `require'
/Users/veronicarebagliatte/.rvm/gems/ruby-2.3.1@ticketing_system/gems/activesupport-5.0.0.1/lib/active_support/dependencies.rb:293:in `block in require'
/Users/veronicarebagliatte/.rvm/gems/ruby-2.3.1@ticketing_system/gems/activesupport-5.0.0.1/lib/active_support/dependencies.rb:259:in `load_dependency'
/Users/veronicarebagliatte/.rvm/gems/ruby-2.3.1@ticketing_system/gems/activesupport-5.0.0.1/lib/active_support/dependencies.rb:293:in `require'
/Users/veronicarebagliatte/.rvm/gems/ruby-2.3.1@ticketing_system/gems/sinatra-1.0/lib/sinatra/base.rb:6:in `<top (required)>'
/Users/veronicarebagliatte/.rvm/gems/ruby-2.3.1@ticketing_system/gems/activesupport-5.0.0.1/lib/active_support/dependencies.rb:293:in `require'
/Users/veronicarebagliatte/.rvm/gems/ruby-2.3.1@ticketing_system/gems/activesupport-5.0.0.1/lib/active_support/dependencies.rb:293:in `block in require'
/Users/veronicarebagliatte/.rvm/gems/ruby-2.3.1@ticketing_system/gems/activesupport-5.0.0.1/lib/active_support/dependencies.rb:259:in `load_dependency'
/Users/veronicarebagliatte/.rvm/gems/ruby-2.3.1@ticketing_system/gems/activesupport-5.0.0.1/lib/active_support/dependencies.rb:293:in `require'
/Users/veronicarebagliatte/.rvm/gems/ruby-2.3.1@ticketing_system/gems/evergreen-0.3.0/lib/evergreen.rb:2:in `<top (required)>'

我通过使用sinatra的主分支(目前在2.0.0.beta2)“修复”了这个问题

gem 'sinatra', git: 'https://github.com/sinatra/sinatra.git'

问题#2:

相关输出:

rake aborted!
LoadError: cannot load such file -- capybara/wait_until
/Users/veronicarebagliatte/.rvm/gems/ruby-2.3.1@ticketing_system/gems/activesupport-5.0.0.1/lib/active_support/dependencies.rb:293:in `require'
/Users/veronicarebagliatte/.rvm/gems/ruby-2.3.1@ticketing_system/gems/activesupport-5.0.0.1/lib/active_support/dependencies.rb:293:in `block in require'
/Users/veronicarebagliatte/.rvm/gems/ruby-2.3.1@ticketing_system/gems/activesupport-5.0.0.1/lib/active_support/dependencies.rb:259:in `load_dependency'
/Users/veronicarebagliatte/.rvm/gems/ruby-2.3.1@ticketing_system/gems/activesupport-5.0.0.1/lib/active_support/dependencies.rb:293:in `require'
/Users/veronicarebagliatte/.rvm/gems/ruby-2.3.1@ticketing_system/gems/evergreen-0.3.0/lib/evergreen.rb:4:in `<top (required)>'

事情wait_untilremoved from capybara

请注意我还没有进行常青实际使用,我想要的就是现在成功安装它。换句话说,我希望能够运行rake而不会出现任何错误。

其他人是否遇到过同样的问题?有什么我缺少的,或者我应该只是分叉宝石并尝试修复它们?

2 个答案:

答案 0 :(得分:0)

wait_until已移除capybara2.0,请检查this updates。您应该删除require "capybara/wait_until"以获得成功。

答案 1 :(得分:0)

从您的错误日志中,您可以看到您的项目正在使用evergreen v0.3.0(因为它的sinatra限制是允许2+的最后一个),而当前版本的常青树是v1.2.0 - 您需要将Gemfile中的常绿版本锁定到&gt; = 1.2.0,然后查看您遇到的其他依赖问题。
  由于常绿的1.2.0版本需要sinatra,因此至少会对sinatra产生依赖性问题。 1.1而当前的主分支允许> = 1.1。要在项目中使用常青树的主分支,请指定

gem 'evergreen', github: 'abepetrillo/evergreen', require: 'evergreen/rails'
你的Gemfile中的