
Несколько языков программирования имеют собственный менеджер пакетов для библиотек. У Ruby есть gem, у Haskell есть cabal и т. д. Но очень часто некоторые важные библиотеки имеют также пакет ОС. Так какой из них следует выбрать в каком случае? (кроме очевидных случаев, например, один не работает или является старой версией, в которой нет нужной мне функции.) Каковы преимущества этих вариантов? Каковы лучшие практики?
решение1
Я бы выбрал пакет, предоставляемый вашим дистрибутивом/операционной системой.
Потому что если вы это сделаете, то ваш менеджер пакетов будет знать, что эти библиотеки установлены. (Обычно они не проверяют наличие библиотек, только если установлен пакет с библиотеками.)
И если вы попытаетесь установить другой пакет, который зависит от этих библиотек, вы либо
- необходимо как-то сообщить менеджеру пакетов, что библиотеки уже установлены (например, создав для них псевдопакет)
или
- менеджер пакетов установит пакеты с библиотеками, и в вашей системе будет две версии этих библиотек.