Rails 2.3.5 を使用するバンドラーと「require」を使用するプラグイン
-
26-09-2019 - |
質問
使おうとしています bundler
私のRails 2.3.5アプリ(insoshiから構築)では、いくつかの複雑な理由により。基本的に、Rails 2.3.8 アプリと Rails 2.3.5 アプリを備えたサーバーにデプロイする必要がありますが、2.3.8 にはラック 1.1.0 が必要で、2.3.5 にはラック 1.0 が必要なため、相互に連携しません。 1 であり、ラック 1.1.0 がインストールされている場合でも爆発します。少なくとも私はそう解釈しています https://rails.lighthouseapp.com/projects/8994/tickets/3685-actionpack-235-gem-declares-incompatibility-with-rack-110
とにかく、バンドラーをインストールしましたが、アプリに同梱されているプラグインの一部でエラーが発生します。ここ:
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'
では、これらすべての gem を Gemfile に追加する必要があるのでしょうか?バンドラーを使用していないときは、自動的にロードされていたと思いますが、今はそうではありませんか?
ありがとう。
解決
しばらく前に修正しましたが、解決策を投稿していなかったことに気づきました。予想どおり、これを gemfile に追加すると機能しました。
gem 'rack/openid', '>=1.0.1'
所属していません StackOverflow