2010-08-07 47 views
0

由于一些复杂的原因,我试图用我的Rails 2.3.5应用程序(由insoshi构建)使用bundler。基本上,我需要部署到具有Rails 2.3.8和Rails 2.3.5应用程序的服务器,并且它们彼此之间不会很好,因为2.3.8需要rack 1.1.0,而2.3.5需要rack 1.0。 1,如果安装了机架1.1.0,则会爆炸。至少,这就是我的解释https://rails.lighthouseapp.com/projects/8994/tickets/3685-actionpack-235-gem-declares-incompatibility-with-rack-110bundler with rails 2.3.5 and plugins with'require'

无论如何,我安装了bundler,但是在与应用程序打包在一起的一些插件中出现错误。在这里:

pdt-eleven:dreamcar glurban$ ruby script/server 
=> Booting WEBrick 
=> Rails 2.3.5 application starting on http://0.0.0.0:3000 
/Users/glurban/code/dreamcar/vendor/rails/activesupport/lib/active_support/dependencies.rb:156:in `require': no such file to load -- openid (MissingSourceFile) 
    from /Users/glurban/code/dreamcar/vendor/rails/activesupport/lib/active_support/dependencies.rb:156:in `require' 
    from /Users/glurban/code/dreamcar/vendor/rails/activesupport/lib/active_support/dependencies.rb:521:in `new_constants_in' 
    from /Users/glurban/code/dreamcar/vendor/rails/activesupport/lib/active_support/dependencies.rb:156:in `require' 
    from /Users/glurban/code/dreamcar/vendor/plugins/open_id_authentication/lib/open_id_authentication.rb:2 
    from /Users/glurban/code/dreamcar/vendor/rails/activesupport/lib/active_support/dependencies.rb:156:in `require' 
    from /Users/glurban/code/dreamcar/vendor/rails/activesupport/lib/active_support/dependencies.rb:156:in `require' 
    from /Users/glurban/code/dreamcar/vendor/rails/activesupport/lib/active_support/dependencies.rb:521:in `new_constants_in' 
    from /Users/glurban/code/dreamcar/vendor/rails/activesupport/lib/active_support/dependencies.rb:156:in `require' 
    from /Users/glurban/code/dreamcar/vendor/plugins/open_id_authentication/init.rb:5:in `evaluate_init_rb' 
    from ./script/../config/../vendor/rails/railties/lib/rails/plugin.rb:158:in `evaluate_init_rb' 
    from /Users/glurban/code/dreamcar/vendor/rails/activesupport/lib/active_support/core_ext/kernel/reporting.rb:11:in `silence_warnings' 
    from ./script/../config/../vendor/rails/railties/lib/rails/plugin.rb:154:in `evaluate_init_rb' 
    from ./script/../config/../vendor/rails/railties/lib/rails/plugin.rb:48:in `load' 
    from ./script/../config/../vendor/rails/railties/lib/rails/plugin/loader.rb:38:in `load_plugins' 
    from ./script/../config/../vendor/rails/railties/lib/rails/plugin/loader.rb:37:in `each' 
    from ./script/../config/../vendor/rails/railties/lib/rails/plugin/loader.rb:37:in `load_plugins' 
    from ./script/../config/../vendor/rails/railties/lib/initializer.rb:369:in `load_plugins' 
    from ./script/../config/../vendor/rails/railties/lib/initializer.rb:165:in `process' 
    from ./script/../config/../vendor/rails/railties/lib/initializer.rb:113:in `send' 
    from ./script/../config/../vendor/rails/railties/lib/initializer.rb:113:in `run' 
    from /Users/glurban/code/dreamcar/config/environment.rb:14 
    from /Users/glurban/code/dreamcar/vendor/rails/activesupport/lib/active_support/dependencies.rb:156:in `require' 
    from /Users/glurban/code/dreamcar/vendor/rails/activesupport/lib/active_support/dependencies.rb:156:in `require' 
    from /Users/glurban/code/dreamcar/vendor/rails/activesupport/lib/active_support/dependencies.rb:521:in `new_constants_in' 
    from /Users/glurban/code/dreamcar/vendor/rails/activesupport/lib/active_support/dependencies.rb:156:in `require' 
    from /Users/glurban/code/dreamcar/config.ru:4 
    from /Users/glurban/.rvm/gems/ruby-1.8.7-p299/gems/rack-1.0.1/lib/rack/builder.rb:29:in `instance_eval' 
    from /Users/glurban/.rvm/gems/ruby-1.8.7-p299/gems/rack-1.0.1/lib/rack/builder.rb:29:in `initialize' 
    from /Users/glurban/code/dreamcar/config.ru:1:in `new' 
    from /Users/glurban/code/dreamcar/config.ru:1 
    from script/server:3:in `eval' 
    from /Users/glurban/code/dreamcar/vendor/rails/railties/lib/commands/server.rb:78 
    from script/server:3:in `require' 
    from script/server:3 

下面是open_id_authentication.rb出错行:

require 'uri' 
require 'openid' 
require 'rack/openid' 

所以,我应该对所有这些宝石添加到我的Gemfile?当我不使用捆绑器时,他们会自动加载,我想,但现在不行?

谢谢。

回答

2

修复它前一段时间,但意识到我从来没有发布解决方案。正如预期的那样,将此添加到gemfile工作:

gem 'rack/openid', '>=1.0.1'