В настоящее время я сам собираю пакет debian для программы, и у меня возникла небольшая проблема. Моя программа зависит от NodeJS 12. NodeJS 13 сломает ее, поэтому я добавил это в свой DEBIAN / control:
Depends: nodejs (>= 12.14), nodejs (<< 13)
Сборка и установка отлично сработали. Теперь я создал новую версию и хочу установить ее на своем сервере. Кроме того, я добавил репозиторий NodeJS 13 (репо NodeJS 12 все еще зарегистрировано).
Вызов apt dist-upgrade
теперь приводит к повышению NodeJS до 13 и REMOVAL моей посылки. Но я хотел предотвратить обновление NodeJS до 13, а не удаление моего пакета.
Как мне этого добиться?
Дополнительная информация:
- Мой пакет помечен как «установленный вручную», тогда как NodeJS помечен как «автоматически установленный».
apt-cache madison nodejs
показывает nodejs 12 & 13. - Приоритет моего пакет является «необязательным», тогда как значение nodejs является «дополнительным» (= ниже?).
- Я попытался добавить
Breaks: nodejs (>= 13)
с тем же эффектом.
Возможно решения:
- Hold NodeJS в версии 12. Если мои пакеты требуют более высокой версии (надеюсь, скоро!), мне нужно снять удержание.
- Удалить NodeJS -13 репо из списка sources.list. Хотя это может быть возможно в данном конкретном случае c, эта проблема также может быть связана с другими зависимостями, которые могут не разделить репозитории.
- Не использовать
apt dist-upgrade
, но как мне обновить пакет из v2 к v3 тогда? Вручную?