bundler con binari 2.3.5 e plugin con 'require'
-
26-09-2019 - |
Domanda
Sto cercando di usare bundler
con il mio Rails 2.3.5 app (costruita al largo di insoshi) a causa di alcuni motivi complicati. Fondamentalmente, ho bisogno di distribuire a un server che ha Rails 2.3.8 e Rails 2.3.5 applicazioni, e non gioco piacevole con l'altro perché 2.3.8 richiede accumulare 1.1.0, mentre 2.3.5 richiede cremagliera 1.0. 1 e fa esplodere se cremagliera 1.1.0 è ancora installato. Almeno, è così che sto interpretando https://rails.lighthouseapp.com/projects/8994/tickets/3685-actionpack-235-gem-declares-incompatibility-with-rack-110
In ogni caso, ho installato bundler ma ottengo un errore in alcuni dei plugin che è stato abbinato con l'applicazione. Qui:
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
Ecco la linea incriminata in open_id_authentication.rb:
require 'uri'
require 'openid'
require 'rack/openid'
Quindi, dovrei aggiungere tutte queste gemme alla mia Gemfile? Quando non stavo usando bundler hanno caricati automaticamente, credo, ma ora no?
Grazie.
Soluzione
fissi qualche tempo fa, ma non ho mai capito postato la soluzione. Come previsto, l'aggiunta di questo al Gemfile lavorato:
gem 'rack/openid', '>=1.0.1'