
여러 프로그래밍 언어에는 라이브러리에 대한 자체 패키지 관리자가 있습니다. Ruby에는 gem이 있고 Haskell에는 cabal 등이 있습니다. 그러나 일부 중요한 라이브러리에는 OS 패키지도 있는 경우가 많습니다. 그렇다면 어떤 경우에 어떤 것을 선택해야 할까요? (예를 들어 작동하지 않거나 필요한 기능이 없는 이전 버전과 같은 명백한 경우는 제외합니다.) 이러한 옵션의 장점은 무엇입니까? 모범 사례는 무엇입니까?
답변1
배포/운영 체제에서 제공하는 패키지를 선택하겠습니다.
그렇게 하면 패키지 관리자가 이러한 라이브러리가 설치되었음을 알게 되기 때문입니다. (일반적으로 라이브러리가 포함된 패키지가 설치된 경우에만 라이브러리가 존재하는지 확인하지 않습니다.)
그리고 해당 라이브러리에 의존하는 다른 패키지를 설치하려고 하면 다음 중 하나를 수행할 수 있습니다.
- 어떻게든 패키지 관리자에게 라이브러리가 이미 설치되어 있음을 알려야 합니다(예: 해당 라이브러리에 대한 의사 패키지 생성).
또는
- 패키지 관리자는 라이브러리와 함께 패키지를 설치하며 시스템에는 해당 라이브러리의 두 가지 버전이 있습니다.