Приложение My Rails 2.3.x не работает, потому что оно использует неправильную версию Rack ( с ошибкой ). В моей системе есть две версии Rack: одна (правильная версия) и системная, установленная через apt-get
.
Почему он использует не ту версию? Это меня особенно озадачивает, потому что ранее выпущенная версия правильно используется в стеке вызовов. И как я могу заставить его использовать правильную версию?
Вот выдержка из трассировки стека, которую я получаю при сбое приложения:
/usr/lib/ruby/vendor_ruby/rack/utils.rb:202:in `set_cookie_header!'
/home/alaveteli/vendor/gems/rack-1.1.0/lib/rack/response.rb:57:in `set_cookie'
/home/alaveteli/vendor/rails/actionpack/lib/action_controller/response.rb:181:in `set_cookie'
Обратите внимание, что в строке 2 используется фирменная стойка, а в строке 1 - системная стойка. (Строка 57 из response.rb
вызывает модуль из Rack, таким образом: Utils.set_cookie_header!(header, key, value)
.)
Мой $LOAD_PATH
, как я полагаю, должен быть, когда вендорные драгоценные камни стоят перед системными.
Да, я планирую в ближайшее время перейти на использование Bundler.