
いくつかのプログラミング言語には、ライブラリ用の独自のパッケージ マネージャーがあります。Ruby には gem、Haskell には cabal などがあります。しかし、重要なライブラリの一部には OS パッケージも用意されていることがほとんどです。では、どのような場合にどちらを選択すればよいのでしょうか? (明らかなケース (動作しない、必要な機能がない古いバージョンなど) は別として)。これらのオプションの利点は何ですか? ベスト プラクティスは何ですか?
答え1
ディストリビューション/オペレーティング システムによって提供されるパッケージを選択します。
そうすると、パッケージ マネージャーはこれらのライブラリがインストールされていることを認識します。(通常、ライブラリを含むパッケージがインストールされている場合にのみ、ライブラリが存在するかどうかはチェックされません。)
そして、それらのライブラリに依存する別のパッケージをインストールしようとすると、
- 何らかの方法でパッケージマネージャーにライブラリがすでにインストールされていることを通知する必要があります(たとえば、それらの疑似パッケージを作成するなど)。
または
- パッケージ マネージャーはライブラリとともにパッケージをインストールし、システム上にそれらのライブラリの 2 つのバージョンが存在することになります。