loading gem runt-0.9.0 - обновление старого приложения rails destop - PullRequest
0 голосов
/ 08 марта 2020

Я пытался переместить старое Rails-приложение из устаревшего Debian P C (Ruby 2.1., Rails 4.1.6) в P C с текущей Ubuntu 18LTS (Ruby 2.6. 3, Rails 4.2.10). Будучи Windows. Net программистом, я довольно неопытен с приложениями Rails на Linux. Так как это для некоммерческой организации, я застрял с этим.

По крайней мере, я сделал это настолько далеко, что он запускает инициализацию реального приложения "vtrack". Но там это прерывается с этим сообщением об ошибке.

LoadError: cannot load such file -- date/format
/home/guest/dev/vtrack/vendor/cache/ruby/2.6.0/gems/runt-0.9.0/lib/runt.rb:37:in `require'
/home/guest/dev/vtrack/vendor/cache/ruby/2.6.0/gems/runt-0.9.0/lib/runt.rb:37:in `<top (required)>'
/home/guest/dev/vtrack/config/application.rb:7:in `<top (required)>'
...

Блок кода в задании внутри файла runt.rb:

...
require 'yaml'
require 'time'
require 'date'
require 'date/format'
require "runt/version"
require "runt/dprecision"
...

Я не уверен, где 'дата / находится библиотека формата - и решит ли eG переход на Rails 4.1.6 - или я просто испортил всю систему.

Спасибо за любой совет.

Мартин

1 Ответ

0 голосов
/ 08 марта 2020

Похоже, что это ошибка в runt, которая была исправлена ​​в https://github.com/mlipper/runt/commit/7fcf4af73753adcf28b8cd0a0ac4eb92a0a190a7 в 2016 году, но не была выпущена. Принимая во внимание, что последний выпуск runt был в 2013 году, и он работает только для Ruby <2.3, я бы прекратил использовать этот драгоценный камень. Но вы можете попробовать один из следующих вариантов, чтобы исправить это: </p>

  • Самый простой: удалить require 'date/format' из вашего локального runt.rb (и надеяться, что это единственное необходимое исправление)
  • Укажите текущую версию runt в Github в вашем Gemfile (поскольку она включает в себя исправление): https://github.com/mlipper/runt (опять же, надеюсь, что больше исправлений не требуется)

В случае, если это не ясно, переход на Rails 4.1.6 не решит проблему. Понижение до Ruby 2.2 может исправить это, но это хорошая идея, чтобы перейти на более новую версию Ruby (2.2 не поддерживается и больше не получает исправления ошибок или критические обновления безопасности). Кроме того, обновление с Ruby 2.1 до Ruby 2.6 может быть затруднено. Возможно, вы захотите сделать более постепенное обновление (с Ruby 2.1 до Ruby 2.2, с 2.2 до 2.3 и т. Д.) И то же самое для Rails.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...