Einige Programmiersprachen verfügen über ein eigenes Paketverwaltungssystem. Im Fall von R wird der integrierte install.packages
Befehl aus dem CRAN-Repository installiert und behandelt Abhängigkeiten.
Parallel dazu wird das Betriebssystem mit eigenen Paketverwaltungssystemen geliefert, wie beispielsweise dem apt
Befehl für debian-basierte Linux-Distributionen.
Ich hatte entschieden, dass es besser ist, den Paketmanager der Distribution zu verwenden, um sicherzustellen, dass alles auf meinem System kompatibel ist (siehe /programming//a/31293955/1878788 ).
Aber bald kam ein Tag, an dem ich Dinge brauchte, die auf diese Weise nicht verfügbar waren. Zum Beispiel würde ein Bioinformatik-Programm, das nicht von meiner Distribution gepackt wurde, eine bestimmte Version von R benötigen. Es kam vor, dass das Programm über ein Projekt namens "bioconductor" verfügbar war, dessen Ziel es war, R-Pakete für die Bioinformatik bereitzustellen, um sicherzustellen, dass Pakete verfügbar waren miteinander kompatibel sein (siehe https://www.bioconductor.org/install/#why-biocLite ).
Deshalb habe ich beschlossen, mein Betriebssystem-Verpackungsmanagementsystem nicht für R zu verwenden und alles mithilfe des biocLite
Befehls zu installieren, der vom Bioconductor-Projekt bereitgestellt wird.
Dieser Ansatz verlief einige Zeit reibungslos, bis ich feststellte, dass sich einige Leute für das Conda-Paket-Management-System entschieden hatten, um ein kohärentes, gesundes und leicht wiederherstellbares Bioinformatik-Ökosystem zu erhalten. Dieses Projekt namens "bioconda" bietet nicht nur R-Pakete, sondern auch Dinge aus allen möglichen Sprachen, mit der Möglichkeit, Versionen einfach zu wechseln usw. (siehe https://bioconda.github.io/ ).
Ich entschied mich dann stattdessen für diesen Ansatz und er lief reibungslos, bis ich ein R-Paket benötigte, das nicht von Bioconda / Conda bereitgestellt wurde. Es ist angeblich sehr einfach, aber meine Versuche, ein Conda-Paket zu erstellen, scheiterten. Dann habe ich versucht, das Paket auf biologische Weise zu installieren, und es schlug erneut fehl. Ich habe den Eindruck, dass irgendwie die falsche R-Installation von den Paketerstellungsmechanismen verwendet wurde. Also entschied ich mich, meine (noch sehr junge) Conda-Installation zu löschen und zu meinem Bio-Leitersystem zurückzukehren.
Ich frage mich, wie lange ich von einem Ansatz zum anderen springen muss. Gibt es allgemeine bewährte Methoden für den Umgang mit diesen mehreren, störenden und überlappenden Ebenen der Paketverwaltung?
Bearbeiten (14.09.2017) : Eine weitere Option, die ich in Betracht gezogen habe, ist die Verwendung alternativer Paketmanager auf Betriebssystemebene wie Guix oder Nix .